AXISHK
asked on
DOS Script
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
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
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
)
~bp
Also, what ERRORLEVEL are you trying to check? The result of the PSEXEC, or something else?
~bp
~bp
ASKER
Return the error at this time ".aspx was unexpected at this time". Any idea ?
Tks
Tks
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Any idea ?