23

基本的に、myapp1.exe を呼び出すバッチ ファイルがあり、myapp1.exe が終了コード 1 で終了するとします。バッチ ファイルはこの情報を取得し、バッチ ファイルを同じ終了コードで強制的に終了させるか、他のロジックを実行することができますか? ?

4

4 に答える 4

33
@echo off
rem ...
set errorlevel=
MyApp1.exe
exit /b %errorlevel%

明示的なバリアントになります。

于 2010-09-10T10:59:23.880 に答える
5

受け入れられた答えは正しいですが、call別のバッチ スクリプトを呼び出すために を使用していて、その 2 番目のバッチ スクリプトが を使用しSetLocalている場合、これを達成するために解析トリックを使用する必要がある場合があります。この問題が発生した場合は、次のコードを の前に追加しますexit b

ENDLOCAL&set myvariable=%myvariable%

これで、 の値がmyvariable呼び出しコンテキストで使用できるようになり、他のスクリプトで値を確認できます。

参照:
https://stackoverflow.com/a/16167938/89590
http://www.borngeek.com/2008/05/22/exiting-batch-file-contexts/

于 2014-04-29T00:29:16.277 に答える
4

%ERRORLEVEL% は、最後に実行されたコマンドの戻り値を格納します

call program.exe
echo program.exe returns "%ERRORLEVEL%"
IF %ERRORLEVEL% NEQ 0 (
  echo FAILED
)
于 2015-09-25T10:23:35.860 に答える
4

sを使用してみてくださいerrorlevelここにいくつかの詳細情報があります。

于 2010-09-09T22:55:39.623 に答える