- - PR -
VB.NETからDOSの結果コードを取得したいのですが
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-07-13 19:50
はじめまして。
どうにもこうにも困ってしまった上、納期が近づいてきてしまったので はじめて投稿しています。 VB.NETでDOSバッチを起動し、その戻り値を取得したいと考えています。 ・ VB.NETでProcess.Startを使用し、バッチを起動 ・ DOSバッチの戻り値は「EXIT /B 3」といった感じで出す ・ Process.ExitCodeでは1しか戻ってこない(3が取れない) http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9883&forum=7&start=0 ここも確認したのですが、私が求めているものとも少し違うようで・・。 実行後のProcessオブジェクトを確認すると、結果コードの「3」なんて どこにもありません。 ということは、やはり無理なのでしょうか? すみませんが、どなたかアドバイスいただけますか? よろしくお願いします。 | ||||
|
投稿日時: 2005-07-13 22:08
以下、コマンドプロンプトのexit /?の出力結果から引用。
動かして試してないんで.NETから同じようにできるかはわかりませんが、コマンドプロンプトだと、問題のバッチを動かした後「echo %ERRORLEVEL%」と入力すると結果コードがとれますね。逆に、プロセス終了コードに設定したいなら、/Bをつけちゃいけないということはありませんか? | ||||
|
投稿日時: 2005-07-14 09:43
アドバイスいただき、ありがとうございます!
「/B」を除いたところ、Process.ExitCodeに取得できました!!! 実は、私はVB.NETでインターフェイス部分を作っているのですが、 その中で呼び出すDOSバッチは他システムなのです。 その他システム作成チームに「戻り値はどうやって出すの?」と聞いたところ、 「EXIT /B ○」と言われたので、あまり詳しくない私はそれを何とか取らないと・・・ と思ってしまい、ずーっと調べていたのです。 ちょっと泣きそうでした。 灯台下暗し?ですね。DOSコマンドの方がいけないとは。 とりあえず、「EXIT ○」って戻してもらえるようお願いしておきます。 本当にありがとうございました!!! |
1