VB2010からコマンドの実行方法
環境
VisualBasic2010Express
WindowsXPSP3
前提
あるプログラムをインストールしていると使えるコマンドがあります。
コマンドプロンプト上から、バッチファイルを実行すると正常動作します。
仮に j.bat とします。
内容は
dxf -o -s c:\test\test0.dxf
dxf -o -s c:\test\test1.dxf
dxf -o -s c:\test\test2.dxf
こんな感じです。
dxfの本体は、とあるフォルダにあるdxf.exeと思われます。
(同名ファイルが複数あるので、特定できていません)
パスが通っているのか、カレントディレクトリ(?)に関係なく実行可能です。
このバッチファイルを実行すると処理は正常です。
現状
VBでボタンを押したらバッチファイルと同じ処理をするプログラムを作りたいのですが
実行する内容が毎回変化します。(dxfコマンドの引数が変わる)
よって同じバッチファイルは使えません。
Dim Buffer(2) As String
Dim Ret(2) As Integer
for i =0 to 2
Buffer(i) = "dxf -o -s c:\test\test" & i & ".dxf"
Ret(i) = Shell(Buffer(i), vbNormalFocus)
next i
こんなプログラムですが、処理がされてません。
コマンドプロンプトは一瞬3個開きます。
dxfをフルパスで記述しても同じです。
質問(1)
コマンドプロンプト上にメッセージが出ているようなのですが
一瞬で消えるので読めません。
コマンドプロンプトを閉じない方法はありませんか?
なければ出力を残す方法はありますか?
質問(2)
バッチファイルを毎回生成して、
そのバッチファイルをShellコマンドで実行すれば動くのかも知れませんが
他に良い方法はありませんか?
よろしくお願いします。
私は、VB2010は初めて。
VB6で2個プログラムを作った程度です。
コマンドプロンプト関連(?)は初めてです。
お礼
そうなんですか? 参考になりました。