DOBON.NETプログラミング掲示板過去ログ
DOSコマンドを複数実行できない
題名: DOSコマンドを複数実行できない
著者: ヒナ
日時: 2008/05/08 16:59:26
ID: 22003
この記事の返信元:
(なし)
この記事への返信:
[22005]
Re[1]: DOSコマンドを複数実行できない
やじゅ
2008/05/08 20:52:06
ツリーを表示
環境/言語:[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
--------------------------------------------------------------
題名: Re[1]: DOSコマンドを複数実行できない
著者: やじゅ
日時: 2008/05/08 20:52:06
ID: 22005
この記事の返信元:
[22003]
DOSコマンドを複数実行できない
ヒナ
2008/05/08 16:59:26
この記事への返信:
(なし)
ツリーを表示
■No22003に返信(ヒナさんの記事)
> http://dobon.net/vb/bbs/log3-25/15414.html
>
そのリンク先に↓が書いてありますが。
「p.WaitForExitで一度プロセスを終了しているので,前のコマンドの
続きを操作することはできません。」
DOBON.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
--------------------------------------------------------------