• ベストアンサー

バッチへ値を返す

バッチファイルからVB作成のEXEファイルを起動させて、EXEの結果をバッチファイルに出力するにはどのような処理をすればよいでしょうか?

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

  • ベストアンサー
  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.3

#2です。 VB6でしたね ただ単に OS側に終了コードを返すだけなら 以下のHPの情報が役に立つのでは ■[VB-TIPS] VBでプログラム終了コードを返すには   → http://d.hatena.ne.jp/chaichanPaPa/20071104/1194147591       ◆プログラムの終了コードを取得する   → http://jeanne.wankuma.com/tips/vb6/process/exitcode.html    #2 の方法は何か処理を行った値を渡したいときに有効です。 VB.NET 2005 で作成しましたが VB6 のソースに書き換えれば同じことができるはずです。 #2の方法で 終了コードを結果出力するように してあげれば OSに結果コードを渡したのと同じ動作をするバッチファイルも作れます。 

その他の回答 (2)

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.2

参考になるものとしては以下のHPです。 ■[windows]バッチファイルで実行結果を環境変数に格納する方法   →  http://d.hatena.ne.jp/ksaito11/20090316    以下はサンプルです。 1、まず、VB.NET 2005でコンソールアプリケーションのプログラムを作成します。 _____________________________________________________________________________________ ◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆ 'ソリューション名は TESTCMD 'プロジェクト名: ConsoleApplication1 Module Module1 Sub Main() Dim F As Integer = 5 Dim G As Integer = 7 Console.WriteLine("5 + 7 = " & (F + G).ToString) End Sub End Module _____________________________________________________________________________________ ◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆ 2、二つのバッチファイルを用意します。  (1)起動する メインのバッチファイル → TESTBAT.BAT    (2) メインのバッチファイル から起動するバッチファイル  → ChilldBAT.bat   ___________________________________________<TESTBAT.BAT>______________________________________  c: chdir C:\TEST_PGM\TESTCMD set result=0 cd C:\TEST_PGM\TESTCMD\ConsoleApplication1\bin\Debug\ for /f "usebackq tokens=*" %%i in (`consoleapplication1.exe`) do @set result=%%i chdir C:\TEST_PGM\TESTCMD ChilldBAT.bat "%result%" 'ここまで~ '********************************************************************************************************** ___________________________________________<ChilldBAT.BAT>______________________________________  echo off echo "結果は",%1 'ここまで~ '********************************************************************************************************** _____________________________________________________________________________________ ◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆ 以上で動作検証できました。 お試しください。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1
164165
質問者

補足

DIooggooIDさん、ありがとうございます。 すみません、記載漏れでした。 当方VB6で作成のプログラムです。 .Netのソースではうまくいかないようでした。

関連するQ&A