重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になってます
コマンドプロンプト&VB.NET 2003 で質問です

コマンドプロンプトからVB.NETのコンソールアプリケーションで作成したバッチを呼び出し、VB.NETで設定した値をコマンドプロンプトで使用したいと思っています

最初、.NETの「System.Environment.ExitCode」を使い、その後コマンドプロンプトで作成した変数(例えばCODE_A)に入れてERRORLEVELに"0"をセットしなおして後続バッチを流しましたが、ERRORLEVELが正常にセットされなく(エラーが起こっても0のまま)なってしまいました
なので、ExitCodeを使わずに、VB.NET等で、自分で作った変数に値をいれ、それをそのままコマンドプロンプトにも使用したいのですが・・・可能なのでしょうか?
それとも、ERRORLEVELをSET 以外の方法で"0"に戻す方法があるのでしょうか

宜しくお願いします

A 回答 (1件)

>ERRORLEVELが正常にセットされなく(エラーが起こっても0のまま)なってしまいました



set ERRORLEVEL=0

は、やってはいけません。
set ERRORLEVEL=0だと、そのセッションの間はERRORLEVEL=0で固定されてしまいます。
ご質問のようになるのは仕様です。

■正しくERRORLEVELを0クリアする例
以下の例で、最初のエラー確認で9009、次のエラー確認で0になるのがわかると思います。
要するに「実行すれば必ずERRORLEVEL=0になる」ようなコマンドを実行してやればよいのです。

REM エラーを起こす
qあwせdrftgyふじこ

REM エラー確認
echo %ERRORLEVEL%

REM エラークリア
date /t>nul

REM エラー確認
echo %ERRORLEVEL%
    • good
    • 0
この回答へのお礼

大変遅くなり申し訳ありません

回答ありがとうございます

固定されてしまうんですね;
ECHO DATE /T
と表示してみたら戻りました
ありがとうございます

お礼日時:2011/03/01 17:39

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