5.関数/サブルーチン (4)コマンド、バッチの復帰値 〜コマンドが正常終了したか確認したい〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】
コマンド、バッチファイルの復帰値を確認したい
%ERRORLEVEL%を参照する
正常の場合は0
異常の場合は1〜255
ただし、コマンドによっては常に0を返すものもある。
正常の例
D:\MyDoc\work\#blog\test>dir ドライブ D のボリューム ラベルは データ です ボリューム シリアル番号は 94BB-7973 です D:\MyDoc\work\#blog\test のディレクトリ 2009/10/14 07:21 <DIR> . 2009/10/14 07:21 <DIR> .. 2009/10/14 07:21 0 test.txt 1 個のファイル 0 バイト 2 個のディレクトリ 323,922,767,872 バイトの空き領域 D:\MyDoc\work\#blog\test>echo %ERRORLEVEL% 0
異常の例1
D:\MyDoc\work\#blog\test>dir notexistfile ドライブ D のボリューム ラベルは データ です ボリューム シリアル番号は 94BB-7973 です D:\MyDoc\work\#blog\test のディレクトリ ファイルが見つかりません D:\MyDoc\work\#blog\test>echo %ERRORLEVEL% 1
異常の例2
D:\MyDoc\work\#blog\test>notexistcommand 'notexistcommand' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 D:\MyDoc\work\#blog\test>echo %ERRORLEVEL% 9009
conってなに?
バッチファイルのエスケープ文字は^だ!!
バッチファイルで長い1行の処理を改行を入れて複数行に分けて書きたい
こんな方法があったのか! Windows用GNUコマンド群 「GNU utilities for Win32」