プロが教えるわが家の防犯対策術!

コマンドプロンプトの記述で、ERRORLEVELというのがありますが
そのERRORLEVELが、0の場合は正常終了と考えていいのでしょうか?

A 回答 (7件)

>if not ERRORLEVEL 1 goto aaa


>教えていただいた上記記述なんですが、
>1じゃないということは、2~255も含まれるのではないのでしょうか?
>素朴な疑問ですいません。

if文の文法については、if /? で調べてください。

if ERRORLEVEL 1 goto aaa は、ERRORLEVEL が1以上の時にgoto aaaするという意味です。ということを#4の人が書いてるのですが・・・
従って、その否定である、
if not ERRORLEVEL 1 goto aaa は、ERRORLEVEL が1未満つまり0のときにgoto aaaします(負になることはないので)。
    • good
    • 2

No.5さんの書き方でもいいんですが、


> IF %ERRORLEVEL%==0 GOTO aaa
と書いてもいいです。
どちらかと言えば、こっちの書き方の方が意味(分岐条件)がわかりやすいです。
    • good
    • 4

ということで、0のときにgotoしたいのなら、


if not ERRORLEVEL 1 goto aaa
です。

コマンドの結果がちゃんとERRORLEVELに合っているかは、
コマンド実行直後に、echo %ERRORLEVEL% としてみればわかります。

この回答への補足

if not ERRORLEVEL 1 goto aaa
教えていただいた上記記述なんですが、
1じゃないということは、2~255も含まれるのではないのでしょうか?
素朴な疑問ですいません。

補足日時:2007/10/09 09:21
    • good
    • 2

> if errorlevel 0 goto aaa:


> 上記のようにPGMを記述してもうまく認識してくれません。
> 0は認識してくれないのでしょうか?

認識しないと言うか・・・この条件では意味無いですね。

「IF ERRORLEVEL」の条件は、エラー番号が、指定した番号「以上」の時成立します。

つまり、「0」を指定すると「全部」の意味に・・・
    • good
    • 0

NO2追加


正常終了した時に「0」、異常終了した時に「0」以外(1~255)を返すように設定(ふつう)

参考URL:http://okwave.jp/qa2422923.html
    • good
    • 0

ERRORLEVELには、0~255までがあります。



参考URL:http://www.fpcu.jp/dosvcmd/bbs/log/cat3/if/error …
    • good
    • 0

こんにちは。



 >0の場合は正常終了と考えていいの
 定義からすると、その通りです。
 ただし、コマンドが「ファイルを開けませんでした!」というメッセージを出して正常終了する場合もあるので、コマンドの仕様を確認しないと、思い通りになったかどうかは分かりません。

では。

この回答への補足

もう一つ教えてください。
ifコマンドで分岐をかけたいのですが、
if errorlevel 0 goto aaa:
上記のようにPGMを記述してもうまく認識してくれません。
0は認識してくれないのでしょうか?

補足日時:2007/10/05 16:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!