iT邦幫忙

DAY 7
4

DOS 不死系列 第 7

程式執行結果的回傳碼

一般來說每個程式在被執行之後,都會把執行的結果暫時保存在系統變數ERRORLEVEL中。執行結果的回傳碼0通常是代表執行成功,非0則代表其他意義。
例如停用BITS服務,然後檢查執行結果:

sc stop bits
echo %ERRORLEVEL%

其它數字的則要看該程式的定義,而有不同的意思,例如故意停用一個不存在的服務:

sc stop alexc
echo %ERRORLEVEL%

執行結果:

[SC] OpenService 無法 1060:

指定的服務並不是已安裝的服務。

1060

由上面執行結果可以知道1060代表〝指定的服務並不是已安裝的服務〞。至於要怎麼知道特定回傳碼的意義,只能去看被執行的應用程式是不是有提供回傳碼的說明文件。

把之前在<a href="">〝使用自訂變數提示使用者進行輸入〞</a>提到的範例a.bat拿來改一下,多加了最後一行:

@SET /P ans=請輸入數字(1~9)
@echo 你輸入的是:%ans%
@echo 執行結果的回傳碼=%ERRORLEVEL%

不管輸入是什麼,最後執行結果的回傳碼一定都是0。


上一篇
區域變數
下一篇
IF條件判斷(1) - 檢查程式執行結果的回傳碼
系列文
DOS 不死18

尚未有邦友留言

立即登入留言