DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DOSコマンドを複数実行できない

環境/言語:[WindowsXP VB.NET]
分類:[.NET]

「.NET Tips>プロセス>DOSコマンドを実行し出力データを取得する」を元に、
複数コマンドを行うプログラムを作ろうと思っています。
http://dobon.net/vb/bbs/log3-25/15414.html
↑の過去ログも参考に作ってみたのですが、2つ目のコマンドが効きません。
(2つ目は1つ目に続いて実行しないと効かないコマンドを入れています)

1つ目と2つ目のコマンドが別で実行されているのでしょうか?
すみませんがご指摘いただけないでしょうか。

--------------------------------------------------------------
Dim strCmds() As String = {"cd C:\abcde", "abc.exe"}

Dim results As String
Dim psi As New System.Diagnostics.ProcessStartInfo()

'ComSpecのパスを取得する
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
'出力を読み取れるようにする
psi.RedirectStandardInput = False
psi.RedirectStandardOutput = True
psi.UseShellExecute = False

Dim i As Integer
Dim p As System.Diagnostics.Process
For i = 0 To strCmds.Length - 1
psi.Arguments = strCmds(i)

'起動
p = System.Diagnostics.Process.Start(psi)

results = p.StandardOutput.ReadToEnd()
p.WaitForExit()

MsgBox(results)

Next
--------------------------------------------------------------
■No22003に返信(ヒナさんの記事)
> http://dobon.net/vb/bbs/log3-25/15414.html
>

そのリンク先に↓が書いてありますが。
「p.WaitForExitで一度プロセスを終了しているので,前のコマンドの
続きを操作することはできません。」

DOBON.NET | プログラミング道 | プログラミング掲示板