日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

關于bat腳本中的命令狀態碼相關的%errorlevel%變量問題_DOS/BAT

作者:520_1351 ? 更新時間: 2022-07-07 編程語言

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

欄目分類
最近更新