iT邦幫忙

DAY 8
2

DOS 不死系列 第 8

IF條件判斷(1) - 檢查程式執行結果的回傳碼

在批次檔中執行條件處理,可以用IF條件判斷,這次說明IF ERRORLEVEL。
語法:

IF [NOT] ERRORLEVEL 數字 要執行的命令 ELSE 另外要執行的命令

參數〝NOT〞表示只有在條件為假的時候,才執行後面要執行的命令。

參數〝ERRORLEVEL 數字〞是說,當前一個程式執行結果的回傳碼大於或等於指定的數字時,這個條件就為真。

參數〝要執行的命令〞是當指定的條件為真時,所要執行的命令。命令之後可以使用 ELSE命令,來指定當條件為假的時候,就執行另外要執行的命令。

dir c:\winx
if errorlevel 1 echo 有錯誤發生

上面的命令是故意去顯示一個不存在的目錄c:\winx,所以執行的結果會是:

有錯誤發生

在使用這個方式判斷錯誤回傳碼的時候,要記得先檢查錯誤碼最大的,然後才檢查小的,為什麼要這樣呢?

因為參數〝ERRORLEVEL 數字〞是在前一個程式執行結果的回傳碼只要大於或等於時,這個條件就為真,所以如果先檢查小的,那錯誤碼大的就會被歸類成同一種了。


上一篇
程式執行結果的回傳碼
下一篇
IF條件判斷(2) - 檢查字串是否相同
系列文
DOS 不死18

尚未有邦友留言

立即登入留言