プロが教えるわが家の防犯対策術!

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

A 回答 (3件)

#2です。


VB6でしたね

ただ単に OS側に終了コードを返すだけなら

以下のHPの情報が役に立つのでは

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

参考になるものとしては以下の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


'ここまで~
'**********************************************************************************************************
_____________________________________________________________________________________
◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆


以上で動作検証できました。 お試しください。
「バッチへ値を返す」の回答画像2
    • good
    • 0

この回答への補足

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

補足日時:2009/12/01 19:01
    • good
    • 0

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