bat腳本中常用%errorlevel%表達上一條命令的返回值,即命令執行狀態碼、也稱命令退出碼
一般上一條命令的執行結果返回的值只有兩種,0和非0 (如常見的1,2,4,5,9009等等),0一般會被視為成功,非0為失敗或者異常
對於9009,在cmd中經常會發生輸入的命令錯誤,或者不存在的命令,這時就會返回9009這種狀態碼,
1、對於%errorlevel%變量,一般都是與if結合使用較多,如下:
dir qq5201351.txt if %errorlevel% ==0 (del /q/f qq5201351.txt)
2、關於自己寫bat腳本時,可以通過exit命令的方式定義%errorlevel%命令退出狀態碼,如下:
echo "test var errorlevel" exit /b 1
注:exit需要加上/b選項,/b是指定要退出當前批處理腳本而不是 CMD.EXE。如果從一個批處理腳本外執行,則會退出 CMD.EXE
注:這樣對於ext /b 1 執行后,就會退出當前批處理腳本,即使后面有內容也不會繼續執行了!
不過筆者在測試有些命令時,對於這個變量也會出現異常(目前原因未知)
C:\Users\5201351\Desktop>echo 123
123
C:\Users\5201351\Desktop>echo %errorlevel%
0
C:\Users\5201351\Desktop>abcdefg
'abcdefg' 不是內部或外部命令,也不是可運行的程序
或批處理文件。
C:\Users\5201351\Desktop>echo %errorlevel%
9009
C:\Users\5201351\Desktop>echo 123456
123456
C:\Users\5201351\Desktop>echo %errorlevel%
9009
C:\Users\5201351\Desktop>
尊重別人的勞動成果 轉載請務必注明出處:https://www.cnblogs.com/5201351/p/13606941.html