在批次檔中執行條件處理,可以用IF條件判斷,這次說明IF ERRORLEVEL。
語法:
IF [NOT] ERRORLEVEL 數字 要執行的命令 ELSE 另外要執行的命令
參數〝NOT〞表示只有在條件為假的時候,才執行後面要執行的命令。
參數〝ERRORLEVEL 數字〞是說,當前一個程式執行結果的回傳碼大於或等於指定的數字時,這個條件就為真。
參數〝要執行的命令〞是當指定的條件為真時,所要執行的命令。命令之後可以使用 ELSE命令,來指定當條件為假的時候,就執行另外要執行的命令。
dir c:\winx
if errorlevel 1 echo 有錯誤發生
上面的命令是故意去顯示一個不存在的目錄c:\winx,所以執行的結果會是:
有錯誤發生
在使用這個方式判斷錯誤回傳碼的時候,要記得先檢查錯誤碼最大的,然後才檢查小的,為什麼要這樣呢?
因為參數〝ERRORLEVEL 數字〞是在前一個程式執行結果的回傳碼只要大於或等於時,這個條件就為真,所以如果先檢查小的,那錯誤碼大的就會被歸類成同一種了。