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のバッチファイルは比較構文が色々準備されているようだ。
同じタグの記事
- ありません。
同じカテゴリの記事
コメントを残す