Solved

DOS Script

Posted on 2013-01-09
5
341 Views
Last Modified: 2013-01-09
Try to make the attached batch work.

If I only keep one statement in "else" clause and remove the following, it works fine. It seems that there can only be one statement in else statement. Any idea ?

Thanks


       set ERRCODE=%ERRORLEVEL%
       
       IF %ERRCODE% LEQ 499 set MSERROR=681382
       IF %ERRCODE% GTR 500 set MSERROR=681388

       IF ERRCODE NEQ 0 start http://msdn.microsoft.com/en-us/library/ms%MSERROR%(v=vs.85).aspx
       IF ERRCODE NEQ 0 echo.This failed with ERROR: %ERRCODE%
Deploy.txt
0
Comment
Question by:AXISHK
  • 3
  • 2
5 Comments
 

Author Comment

by:AXISHK
ID: 38761566
But the attached batch doesn't work unless I remove the statements that I mentioned above.

Any idea ?
0
 
LVL 54

Expert Comment

by:Bill Prew
ID: 38761571
Your problem is likely the fact that you are assigning and checking environment variables inside a FOR loop. To do that you need to use delayed expansion. Try this instead, notice the new setlocal line, and the use of ! to reference variables inside the loop that are changed inside the loop.

ECHO OFF
setlocal EnableDelayedExpansion

SET PClist=pclist.txt

for /f "tokens=2-4 delims=/ " %%i in ('date/t') do set yyyymmdd=%%k%%i%%j
if not exist %yyyymmdd%\*.* md %yyyymmdd%

date /t > D:\Temp\%yyyymmdd%\Chrome.log
time /t >> D:\Temp\%yyyymmdd%\Chrome.log

FOR /F "usebackq delims=" %%A in ("%PClist%") DO (
   MD \\%%A\C$\Temp >NUL 2>&1
   ECHO INSTALLING CHROME IN [%%A] >> D:\Temp\%yyyymmdd%\Chrome.log
   COPY "\\HKFSVR01\share_drive\public\Google Chrome\ChromeSetup.exe" \\%%A\C$\Temp
 

   verify >null
   set ERRCODE=0
   REM REM PSEXEC \\%%A -accepteula C:\Temp\ChromeSetup.exe /install
   REM PSEXEC \\%%A -u hkm\admin -p xxxxx msiexec.exe /i  "\\HKFSVR01\share_drive\corporate\public\Google Chrome\GoogleChromeStandaloneEnterprise.msi" ALLUSERS=1 /q /norestart

   set ERRCODE=0
   IF '!ERRORLEVEL!'=='0' (
       echo Success! >> D:\Temp\%yyyymmdd%\Chrome.log
   ) else (
       echo Fail ! >> D:\Temp\%yyyymmdd%\Chrome.log

       set ERRCODE=!ERRORLEVEL!
       
       IF !ERRCODE! LEQ 499 set MSERROR=681382
       IF !ERRCODE! GTR 500 set MSERROR=681388

       IF !ERRCODE! NEQ 0 start http://msdn.microsoft.com/en-us/library/ms%MSERROR%(v=vs.85).aspx
       IF !ERRCODE! NEQ 0 echo.This failed with ERROR: %ERRCODE%
   )
   del \\%%A\c$\Temp\ChromeSetup.exe  	
)

Open in new window

~bp
0
 
LVL 54

Expert Comment

by:Bill Prew
ID: 38761579
Also, what ERRORLEVEL are you trying to check?  The result of the PSEXEC, or something else?

~bp
0
 

Author Comment

by:AXISHK
ID: 38761616
Return the error at this time ".aspx was unexpected at this time". Any idea ?

Tks
0
 
LVL 54

Accepted Solution

by:
Bill Prew earned 500 total points
ID: 38761638
Try changing the START to this:

start "" "http://msdn.microsoft.com/en-us/library/ms%MSERROR%(v=vs.85).aspx"
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
DOS string replace and remove character at end 3 82
find and replace 5 52
MailSend Attachments 41 198
WMIC Command LIne 5 58
YESTERDAY YESTERDAY.BAT is inspired by a previous article I wrote entitled: TOMORROW.BAT (http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_4196-Advanced-Batch-File-Programming-TOMORROW-BAT.html). The crux of this batch f…
Introduction: Recently, I got a requirement to zip all files individually with batch file script in Windows OS. I don't know much about scripting, but I searched Google and found a lot of examples and websites to complete my task. Finally, I was ab…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question