コマンドプロンプト&VB.NET 2003でのコマンド実行

このQ&Aのポイント
  • コマンドプロンプトからVB.NETのコンソールアプリケーションで作成したバッチを呼び出し、VB.NETで設定した値をコマンドプロンプトで使用したいと思っています。
  • ExitCodeを使わずに、VB.NET等で作った変数に値を入れ、それをコマンドプロンプトにも使用したいですが、可能でしょうか?
  • また、ERRORLEVELをSET 以外の方法で0に戻す方法はありますか?
回答を見る
  • ベストアンサー

お世話になってます

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

質問者が選んだベストアンサー

  • ベストアンサー
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.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%

kapibaraPG
質問者

お礼

大変遅くなり申し訳ありません 回答ありがとうございます 固定されてしまうんですね; ECHO DATE /T と表示してみたら戻りました ありがとうございます

関連するQ&A

  • Javacは、コマンドラインで実行する際、エラーナンバーを返しますか?

    現在、バッチファイルを作っていて、「Javacでコンパイルしてエラーがないと作成されたclassファイルを実行して、エラーがあったらバッチ処理を終了する」というバッチファイルを作成しようとおもっています。 バッチファイルでの条件分岐は if ERRORLEVEL構文で処理しようかと思っているんですが、そもそもjavacコマンドはERRORLEVEL変数に入れるようなエラーナンバーをコマンドプロンプトに返してくれるのかとおもいまして。。 分かる方は回答よろしくお願いします。

    • ベストアンサー
    • Java
  • バッチファイルで環境変数が設定されません

    よろしくお願いいたします。 Windows XP Pro の command.com において、バッチファイルの中で set コマンドを使って環境変数を設定しても、バッチから抜けると環境変数の設定ができていません。 バッチ終了後の環境変数は全てバッチ開始前と同じ状態です。 command.com のプロンプトで set コマンドを実行すると、環境変数はセットした内容に変化もしくは追加されます。 cmd.exe ではバッチからでもプロンプトからでも set コマンドで環境変数を操作できます。 なぜ command.com 上のバッチから操作できないのかわからず、不便でかないません。 アドバイスをよろしくお願いいたします。 @echo off set foo=word path=c:\ echo %foo% echo %path% 上記バッチを実行すると word c:\ と表示されますが、set コマンドで確認すると FOO は存在しません PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;... と表示されます。 これはバッチ実行前の値です。

  • コマンドプロンプト 入力値を格納したい

    作成したバッチファイルを起動し、パスワードを要求しますが、以降は要求せずに、最初にコマンドプロンプトで入力された値をセットして起きたいのですが、どうしたらよいか教えてください。ちなみに、コマンドプロンプトでパスワードを入力する際は、値は表示されないようにしたいです。

    • ベストアンサー
    • MySQL
  • コマンドプロンプトのERRORLEVELを取得したい

    VBからコマンドプロンプトを呼び出し、 他のEXEを実行させ、 そのERRORLEVELを取得したいのですが、 どのようにすればよいでしょうか?

  • バッチファイル

    コマンドプロンプトから実行するコマンド 2つを、100回繰り返したいのですが、 バッチファイルで100回繰り返すにはどうしたらよいでしょうか? 単純にForで出来ると思っていたのですが、 dosのバッチファイルのforはちょっと違うみたいで、ほかの言語のように for(){繰り返したい処理} ということが出来ないみたいで、 しかも変数<100というのも出来ない? ようで(INで0 1 2 3・・・のように指定するのですね・・・?) 戸惑っています。 変数を使ってインデントして100で終了させようと思ったのですが、変数も使えない・・・??のですね。(使えるのでしょうか??) そこでWSHで一セット分のコマンドのバッチファイルを作ってWSHからそれを100回呼ぼうかと思ったのですが、いまいち方法がわかりません。 また、wshの中で直接dosコマンドが使えると最もよいのですが・・・。 詳しい方がいましたら教えていただけると幸いです。

  • DOSのHOMEPATHの値

    コマンドプロンプトを起動したときに最初のディレクトリが C:\Document and settings\ユーザー名> になっているのですが、これを変更したくて >set HOMEPATH=変更したい値 という風に入力して実行したのですが結果が出ませんでした。 レジストリのHKEY_CURRENT_USER\Environmentの値を確認してみたところ 私がプロンプト上から入力した値にはなっていました。(末尾にinclude;とついていましたが) だけどコマンドプロンプトを起動すると、やはり当初の C:\Document and settings\ユーザー名> ままでした。 いったい何がいけないのでしょうか。

  • ERRORLEVELの値はいくつ? ← Windows XPでディスクにエラーがあるときchkdsk実行後

    バッチファイル中で条件分岐させたいので、 Windows XPでディスクにエラーがあるときchkdsk実行後 環境変数ERRORLEVELがどの値になるか教えてください。 1か255でしょうか? よろしくお願いします。

  • バッチファイルでネットワークのインターフェイスを有効にする方法

    バッチファイルで(windowsXP pro)ネットワークインターフェイスの有効・無効を切り替えるコマンドはないのでしょうか。 enableとかdisableは回復コンソールではあるようですが、普通のコマンドプロンプトではないようです。 (コマンドプロンプトにそのようなコマンドはないと言われてしまう) ご存知の方、よろしくお願いします。

  • バッチファイルの変数引継ぎについて

    行き詰ってしまったので、どなたか知恵を授けていただければと思います。 現在、あるソフトウェアの「バッチモード」という機能を使用したバッチを作成していて、構文が > sdcmd batch ***.txt 上記のようにコマンドを羅列したテキストファイルを指定した実行コマンドになります。 sdcmd以降はソフト指定のコマンド以外は使用できず、変数設定ができない為に変数設定とログ保存を兼ねて上記コマンドを記載したバッチを > setlocal EnableDelayedExpansion > set ○=△△△ > set ■=◇◇◇ > call aaa.bat %* >> aaa.log 2>&1 という内容の呼び出しバッチを作成たのですが、テキストファイル内の変数が代入されずに 実行されてしまいます。 cmd上から直接 > setlocal EnableDelayedExpansion > set ○=△△△ > set ■=◇◇◇ > sdcmd batch ***.txt >> aaa.log 2>&1 を実行しても変数の代入は行われませんでした。 cmd上で変数とテキストファイル内のコマンドを手動実行すれば変数は解決できます。 設定した変数を、テキストファイル内の変数値に代入する方法はあるでしょうか。

  • コマンドプロンプト(2000)で入力値によって処理を変えたい

    コマンドプロンプト(bat)プログラムの途中で ユーザからの入力を促して入力された値を 変数としてセットし、その値をif文などで 評価することにより分岐させて入力された値によって 様々な処理を行わすことは可能でしょうか。 シェルスクリプトであればreadコマンドのような ものに変わるコマンドを期待しています。 宜しくお願いいたします。

専門家に質問してみよう