【VB.NET】コマンドプロンプトの操作について
今晩は、質問させていただきます。どうぞよろしくお願いいたします。
環境: VB2008 Express Edition + Win7(もしくはVistaもしくはXP) でございます。
VBからコマンドプロンプト(あまり使い方を存じません)を操作できているかどうか
テストする為に、下記のように操作させてみましたがうまくいきません。。
・Debugフォルダにコマンドプロンプトを起動
→コマンドプロンプトの内容表示(←成功)
・Debugフォルダにコマンドプロンプトを起動
→「cd ../ 」
→コマンドプロンプトの内容表示(←何故か何も表示されません。)
http://soudan1.biglobe.ne.jp/qa5873147.html
を参考にさせていただいて、コーディングいたしました↓
Dim psi As New System.Diagnostics.ProcessStartInfo()
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
psi.RedirectStandardInput = False '出力を読み取れるようにする
psi.RedirectStandardOutput = True
psi.UseShellExecute = False
psi.CreateNoWindow = True 'ウィンドウを表示しないようにする
'コマンドラインを指定
psi.Arguments = "/c cd ../" '←ここです。
Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(psi) '起動
Threading.Thread.Sleep(1000)
Do
results = p.StandardOutput.ReadLine
temp = temp & results
Application.DoEvents()
cnt = cnt + 1
Loop Until cnt = 1000
p.WaitForExit()
MsgBox(temp)
最後のMsgBoxに何も文字が表示されません。。。
コード中の「ここです」の行をコメントアウトいたしますと、最後のMsgBoxに
「Microsoft Windows XP ~D:\~bin\Debug>」
とフォルダ名が表示できます。
psi.Arguments = "/c cd ../" がちゃんと送れていないのでございましょうか??
色々と試行錯誤しておりますが、うまくいきません。
試しにpsi.CreateNoWindow = False などとしてみても一瞬で画面が消えてしまうため
うまくバグ取りの打開策が見いだせておりません。
もしお詳しい方がいらっしゃいましたら是非ともアドバイスいただけないでしょうか。
どうぞよろしくお願いいたします。
お礼
回答ありがとうございました。