サンプル集  >  MS-DOS  >  ERRORLEVEL
ERRORLEVEL
2010/01/08

MS-DOS で実行したコマンドの復帰値は ERRORLEVEL 変数に格納されます。

◆環境
OS Windows XP Professional Version 2002 Service Pack 3

copy コマンドでファイルをコピーして結果を見てみます。

C:\> copy fileChange.bat fileChange.bat.bk
        1 個のファイルをコピーしました。

C:\> echo %ERRORLEVEL%
0

コピーが成功した場合、ERRORLEVEL には 0 が入っていました。 今度はわざとエラーを発生させてみます。

C:\> copy fileChange.bat.1 fileChange.bat.bk
指定されたファイルが見つかりません。

C:\> echo %ERRORLEVEL%
1

コピーが失敗した場合、ERRORLEVEL には 1 が入りました。

copy コマンドが正常か異常かは復帰値で判断できそうです。

しかし、ERRORLEVEL に値が設定されていないようなコマンドもあります。 例えば del コマンドは正常でも異常でも ERRORLEVEL は 0 のままです。

C:\> del fileChange.bat.bk

C:\> echo %ERRORLEVEL%
0

ファイルを削除できた場合、メッセージは何も出ず ERRORLEVEL には 0 が設定されます。

C:\> del fileChange.bat.bk
fileChange.bat.bk が見つかりませんでした。

C:\> echo %ERRORLEVEL%
0

ファイルの削除に失敗した場合、エラーメッセージは表示されますが ERRORLEVEL は 0 になっています。 ファイルの削除が成功しても失敗しても ERRORLEVEL は 0 なので、これでは結果の判定はできません。

その為、使うコマンド毎に ERRORLEVEL が設定されるかどうか確認する必要があります。

▲ PageTop  ■ Home


Copyright (C) 2010 ymlib.com