いくつかの実行可能ファイルを実行するバッチファイルがあり、成功すると終了しますが、終了コード<> 0の場合は停止します。これを行うにはどうすればよいですか。
「If Errorlevel」コマンドが必要なようです。実行可能ファイルが失敗時に0以外の終了コードを返すと仮定すると、次のようになります。
myProgram.exe
if errorlevel 1 goto somethingbad
echo Success!
exit
:somethingbad
echo Something Bad Happened.
エラーレベルのチェックは、以上のチェックとして行われるため、0以外の終了値はジャンプをトリガーします。したがって、複数の特定の終了値を確認する必要がある場合は、最も高い終了値を最初に確認する必要があります。
条件付き処理シンボル を使用して、単純な成功/失敗チェックを行うこともできます。例えば:
myProgram.exe && echo Done!
Done!
がエラーレベル0で返された場合にのみmyProgram.exe
を出力します。
myProgram.exe || PAUSE
myProgram.exeがゼロ以外のエラーレベルを返すと、バッチファイルが一時停止します。