我試圖將ERRORLEVEL
環境變量存儲到本地批處理變量中。但它總是結果爲0
。如何將ERRORLEVEL存儲在變量中?
CALL foo.exe
SET LEVEL=%ERRORLEVEL%
IF ERRORLEVEL 1 (
SET /A ERRORCOUNT=ERRORCOUNT+1
) ELSE (
SET /A OK=OK+1
)
ECHO/ >> logtemp.txt
ECHO ** EXIT %LEVEL% *******************************
我試圖ECHO %ERRORLEVEL%
,但它總是打印0
了。
foo.exe
正在生成一個錯誤,它可以從命令提示符下通過ECHO %ERRORLEVEL%
和ERRORCOUNT
正確更新。
問題是不設置'ERRORLEVEL'環境變量,if ... else工作正常。問題是將'LEVEL'設置爲'ERRORLEVEL'環境變量值,所以'ECHO%LEVEL%'將爲'CALL'打印環境變量'ERRORLEVEL'。 –
我測試了代碼,它的工作原理。但是可能你不會顯示腳本的相關部分。我猜:你的問題是代碼塊的百分比擴展。查看第二個樣本 – jeb
謝謝,我不知道!VARIABLE!語法...現在正常工作:) –