|
644) コマンドの戻り値を知りたい matsunantoga 2002/09/12(木) 19:38 |
|
matsunantogaといいます。 Win2Kで、バッチファイル いろいろなコマンドの戻り値をerrorlevelで判定したいと思います。errorlevelにはどのような値が設定されるのでしょうか。 1と0しかないのでしょうか? |
|
646) Re:コマンドの戻り値を知りたい SYSOP 2002/09/13(金) 00:04 |
|
>matsunantogaといいます。 >Win2Kで、バッチファイル >いろいろなコマンドの戻り値をerrorlevelで判定したいと思います。errorlevelにはどのような値が設定されるのでしょうか。 >1と0しかないのでしょうか? ERRORLEVELには、0~255(10進数)までが(使われる可能性の話としては)あります。 ただし、個々のコマンドがどのようなときに何番のERRORLEVELを返すかは、個々のコマンドの仕様しだいですし、普通はそんなにいろんな種類の ERRORLEVELを返すわけではありませんし、まったくERRORLEVELを返してこない仕様のコマンドも多数あります。 当BBS付属のコマンド・リファレンス(というか、このBBSのほうが付属(^^;)を検索キーワード「ERRORLEVEL」で検索してごらんになると、どのコマンドがどういう場合に何番のERRORLEVELを返す仕様になっているかがある程度わかると思います。 たとえばREPLACEというコマンドは、状況によって下記のようなERRORLEVELを返します。 0 ファイルの置き換えまたは追加が正常に終了した 2 元ファイルを見つけられなかった 3 元パスまたは宛先パスが見つけられなかった 5 置き換えたいファイルに対するアクセス権がない または /Rスイッチが指定されていないとき、読み取り専用属性のファイルの上書きを行おうとした 8 コマンドを実行するためのシステム・メモリーが不足している 11 コマンドの書式に誤りがある と、上記はずっと古いバージョンのDOSに準拠した記述ですが、Windows2000でもほぼ同じです。(細かくいえば、ERRORLEVEL 1にも意味が与えられている点が異なるようです) そのあたりも含め、GUI上のオンラインヘルプの「Windows2000コマンド リファレンス」のreplaceの解説に「注」として載っていますので、確認してください。 YanaKen |
|
<アフターケア> ERRORLEVELが255までなのはDOSの仕様で、NT系ではもっと大きい数が指定可能です。 |