基本的に、myapp1.exeを呼び出すバッチファイルがあり、myapp1.exeが終了コード1で終了するとします。バッチファイルでこの情報をキャプチャし、バッチファイルを同じ終了コードで強制終了するか、他のロジックを実行できます。 ?
@echo off
rem ...
set errorlevel=
MyApp1.exe
exit /b %errorlevel%
明示的なバリアントになります。
受け入れられた答えは正しいですが、call
を使用して別のバッチスクリプトを呼び出し、その2番目のバッチスクリプトがSetLocal
を使用している場合は、解析トリックを使用してこれを実行する必要がある場合があります。これを実行している場合は、exit b
の前に次のコードを追加します。
ENDLOCAL&set myvariable=%myvariable%
これで、myvariable
の値が呼び出しコンテキストで使用できるようになり、他のスクリプトで値を確認できます。
参照:
https://stackoverflow.com/a/16167938/8959
http://www.borngeek.com/2008/05/22/exiting-batch-file-contexts/
errorlevel
sを使用してみてください。もう少し情報 ここ 。
%ERRORLEVEL%は、最後に実行されたコマンドの戻り値を格納します
call program.exe
echo program.exe returns "%ERRORLEVEL%"
IF %ERRORLEVEL% NEQ 0 (
echo FAILED
)