- ベストアンサー
コマンドプロンプトのERRORLEVELについて!
コマンドプロンプトの記述で、ERRORLEVELというのがありますが そのERRORLEVELが、0の場合は正常終了と考えていいのでしょうか?
- みんなの回答 (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します(負になることはないので)。
その他の回答 (6)
- Bonjin
- ベストアンサー率43% (418/971)
No.5さんの書き方でもいいんですが、 > IF %ERRORLEVEL%==0 GOTO aaa と書いてもいいです。 どちらかと言えば、こっちの書き方の方が意味(分岐条件)がわかりやすいです。
- notnot
- ベストアンサー率47% (4900/10358)
ということで、0のときにgotoしたいのなら、 if not ERRORLEVEL 1 goto aaa です。 コマンドの結果がちゃんとERRORLEVELに合っているかは、 コマンド実行直後に、echo %ERRORLEVEL% としてみればわかります。
- dsuekichi
- ベストアンサー率64% (171/265)
> if errorlevel 0 goto aaa: > 上記のようにPGMを記述してもうまく認識してくれません。 > 0は認識してくれないのでしょうか? 認識しないと言うか・・・この条件では意味無いですね。 「IF ERRORLEVEL」の条件は、エラー番号が、指定した番号「以上」の時成立します。 つまり、「0」を指定すると「全部」の意味に・・・
- goold-man
- ベストアンサー率37% (8364/22179)
NO2追加 正常終了した時に「0」、異常終了した時に「0」以外(1~255)を返すように設定(ふつう)
- goold-man
- ベストアンサー率37% (8364/22179)
ERRORLEVELには、0~255までがあります。
- akina_line
- ベストアンサー率34% (1124/3287)
こんにちは。 >0の場合は正常終了と考えていいの 定義からすると、その通りです。 ただし、コマンドが「ファイルを開けませんでした!」というメッセージを出して正常終了する場合もあるので、コマンドの仕様を確認しないと、思い通りになったかどうかは分かりません。 では。
補足
もう一つ教えてください。 ifコマンドで分岐をかけたいのですが、 if errorlevel 0 goto aaa: 上記のようにPGMを記述してもうまく認識してくれません。 0は認識してくれないのでしょうか?
補足
if not ERRORLEVEL 1 goto aaa 教えていただいた上記記述なんですが、 1じゃないということは、2~255も含まれるのではないのでしょうか? 素朴な疑問ですいません。