- 締切済み
コマンドプロンプトのERRORLEVEL
お世話になります。 どなたかご教授ください。 よろしくお願いいたします。 NT/2000/XPのそれぞれのコマンドプロンプトで以下のコマンドを 実行しました。 >del /Q a.dat ※a.datは存在しないファイルです。 このコマンドの直後%ERRORLEVEL%をechoコマンドで表示したのですが OSによって結果が違いました。 NT/XP →0 2000 →1 原因は何でしょうか? 2000でも0にする方法はありますでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- deadline
- ベストアンサー率63% (1239/1943)
回答No.1
"ERRORLEVEL"は、プログラム内で設定された『リターンコード』(通常、正常終了した時に"0"、異常終了した時に"0"以外を返すように設定する)ですから、 指定されたファイルが見つからない⇒異常終了⇒"0"以外を返す で、"1"が表示される2000の方が正常です。ですから、"0"を返すNT/XPの『コマンドプロンプト』にバグがあるような気がしますが・・・。 >2000でも0にする方法はありますでしょうか? "set"コマンドで、強制的に"ERRORLEVEL"に"0"なり"1"なりを設定すれば良いかと・・・。 set ERRORLEVEL=0