1. 程式人生 > >批處理呼叫exe獲取返回值

批處理呼叫exe獲取返回值

最近要用一個batch檔案依次執行三個exe檔案,

@echo off1.exe2.exe3.exe      要求是如果任意一個exe檔案不能正確執行,後面的exe將不能執行。      這就牽涉到exe的返回值的問題,依次來判斷其是否被正確執行。      exe的是用VC 2005寫的console程式,返回值是在main函式中定義的nRetCode,0表示執行成功,1表示有錯誤。

       而在批處理中,這個返回值就可以通過errorlevel得到。       這樣就OK了。

前段時間的一個專案,一個bat呼叫數個exe,而bat是由cybermation來觸發,而且要接受命令列引數(command line argument),研究了一下,找到了答案:

@echo offset path=%1set fileName=%21.exe %path% %fileName%if %errorlevel%==0 (2.exe %fileName%) else(goto:exceptionEnd)

exit 0

:exceptionEndexit 1%1就是第一個輸入引數的佔位符,%2就是第二個,依次類推。

觸發bat時就用name.bat "D:\" "1.txt" 就可以了