[ホーム] - [バッチファイル サンプル一覧] - [errorlevel が設定されない原因]

errorlevel が設定されない原因 | Windows バッチファイル






ERRORLEVEL が設定されない


ERRORLEVEL とはWindows バッチファイルで使用する環境変数ですが、コマンドを実行した結果自動的に設定される変数です。コマンドの成功、失敗はこの変数に値が設定されます。ただし一部のコマンドや環境では設定されない場合があります。
しかしなんらかの問題によりこの変数に値が設定されない場合があります。

その場合、値を参照すると以下のような応答が戻ってしまいます。


C:\> echo %errorlevel%
%errorlevel%



どのような場合に設定されないのか


以下のような場合に値が代入されません。

・Powershellインタプリタ上で実行した場合。要するに Powershellコマンド等により Powershell 入力待ちになった場合。PS> と表示されます。
・一部のコマンドはそもそもerrorlevelを設定しない。
・遅延展開の中身。その場合は !errorlevel! とパーセントではなく!(いわゆるビックリマーク)で囲んで参照可能か確認する。
・他のバッチをコールした場合、そのバッチ内で終了コードを設定しない場合など。


errorlevel をリセットする


errorlevel を 0 にリセットするには以下コマンドを実行する。


C:\>cmd /c "exit /b 0"









本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [バッチファイル サンプル一覧]