Windowsバッチファイルの処理結果判定

Windowsバッチファイルの処理結果判定

ツール的なバッチ処理は、WindowsでもLinuxでも動くように、通常はperlやpythonでスクリプトを作ってしまう。
しかし、本当に単純にプログラムを順番通りに実行させるだけなら、Windowsバッチを作成することがある。
この時、呼び出すコマンドが正常終了した場合は、次のコマンドを実行してほしいが、失敗したのであれば、そこで終了してほしい。

ERRORLEVELを判定する

呼び出したコマンドが正常終了したかどうかは、ERRORLEVELを判定すれば判断できる。
ほとんどのコマンドはERRORLEVELが0の場合、正常終了。

[cc]
@ECHO OFF

command1

IF ERRORLEVEL 1 GOTO ERR

command2

IF ERRORLEVEL 1 GOTO ERR

EXIT

:ERR
PAUSE
[/cc]

command1,command2が異常終了時に終了コードとして1以上の値を返す時、ERRというラベルにジャンプする。
IF ERRORLEVEL 1 GOTO は、終了コードが1以上のときに、GOTO先のラベルにジャンプする。

結果コードにマイナス値が存在し、0のみが正常値であるならば、下記のように記述する必要がある。

[cc]
IF NOT “%ERRORLEVEL%” == “0” GOTO ERR
[/cc]

[cc]
IF %ERRORLEVEL% NEQ 0 GOTO ERR
[/cc]

Windowsのバッチファイルは比較構文が色々準備されているようだ。

同じタグの記事
  • ありません。
同じカテゴリの記事

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA