有些指令在執行之後将會傳回一定的錯誤值(errorlevel),可以通過errorlevel的值判斷指令執行的狀況。這點類似于C語言裡面的exit(num),num就是錯誤代碼。
擷取傳回值errorlevel的方法就是,在執行指令後,立馬調用傳回值errorlevel,如echo %errorlevel%或者if %errorlevel%==1等指令。
errorlevel舉例:
===============================================
@echo off
reg add HKCU /v try /f>nul
reg delete HKCU /v try /f
if errorlevel 0 (echo 删除成功! ) else (echo 删除失敗!)
if %errorlevel%==0 (echo 删除成功! ) else (echo 删除失敗!)
pause>nul
上面例子中,由于第一成功的删除了系統資料庫,導緻第二次因為找不到系統資料庫而宣告失敗。同時我們也看到了errorlevel的使用方法,即if errorlevel 0和if %errorlevel%==0是一樣的。也許你注意到了,裡面還有個笑臉呢~O(∩_∩)O哈哈~這就是ASCII碼啦,後面跟你講啊…
一般情況下,程式或指令成功執行時,傳回的errorlevel是0,錯誤時傳回1或更高的值。當然,有些指令是沒有傳回值的,這點需要注意。
嗯,有沒有想起前面有個類似的東西啊?對了,那就是||和&&了,這兩個符号就是根據errorlevel的值來進行邏輯判斷的~