web-dev-qa-db-ja.com

バッチファイル内からエラーコードを取得する

いくつかの実行可能ファイルを実行するバッチファイルがあり、成功すると終了しますが、終了コード<> 0の場合は停止します。これを行うにはどうすればよいですか。

35
Dlongnecker

「If Errorlevel」コマンドが必要なようです。実行可能ファイルが失敗時に0以外の終了コードを返すと仮定すると、次のようになります。

myProgram.exe
if errorlevel 1 goto somethingbad
echo Success!
exit
:somethingbad
echo Something Bad Happened.

エラーレベルのチェックは、以上のチェックとして行われるため、0以外の終了値はジャンプをトリガーします。したがって、複数の特定の終了値を確認する必要がある場合は、最も高い終了値を最初に確認する必要があります。

43
Hellion

条件付き処理シンボル を使用して、単純な成功/失敗チェックを行うこともできます。例えば:

myProgram.exe && echo Done!

Done!がエラーレベル0で返された場合にのみmyProgram.exeを出力します。

myProgram.exe || PAUSE

myProgram.exeがゼロ以外のエラーレベルを返すと、バッチファイルが一時停止します。

27