こんにちは、ビジュアルベーシックを使用して、コマンドプロンプトに送信したコマンドの応答を文字列にキャプチャする必要があります。キャプチャしたらすぐに文字列から読み取りたいです。次のコードは、次のディレクトリ「C:\」に Pingfolder というフォルダーがあり、egsample C:\Pingfolder とその内部に「ping.txt」という txt ファイルがある場合に機能します。 .txt このコードは、ping 応答を ping.txt ファイルに書き込みます。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim NewProcess As New Process
Dim StartInfoProcess As New System.Diagnostics.ProcessStartInfo
StartInfoProcess.FileName = "cmd"
StartInfoProcess.RedirectStandardInput = True
StartInfoProcess.RedirectStandardOutput = True
StartInfoProcess.UseShellExecute = False
StartInfoProcess.CreateNoWindow = True
NewProcess.StartInfo = StartInfoProcess
NewProcess.Start()
Dim SIOSW As System.IO.StreamWriter = NewProcess.StandardInput
SIOSW.WriteLine("cd\")
SIOSW.WriteLine("cd Pingfolder")
SIOSW.WriteLine("ping www.google.com > ping.txt")
SIOSW.WriteLine("Exit")
SIOSW.Close()
End Sub
上記のコードでは、SIOSW.WriteLine("ping www.google.com > ping.txt") は www.google.com に ping を実行し、応答を ping.txt に保存します"。上記のコードでは、応答を次のようにキャプチャします。文字列を ping.txt ファイルに書き込むのではなく、次のようなものが必要です。
dim theresault as string
theresault = SIOSW.WriteLine("ping www.google.com")
messagebox.show(theresault)