在Visual Basic的一个文本框中执行多个CMD行命令和显示输出

时间:2018-05-06 13:16:39

标签: vb.net visual-studio

我希望捕获多个命令行命令的输出,并在一个文本框中依次显示输出。使用Visual Basic。

我目前在一个适用于一个命令的按钮中使用此示例:

    Dim oProcess As New Process()
    Dim oStartInfo As New ProcessStartInfo ("ipconfig", "/all")
    oStartInfo.UseShellExecute = False
    oStartInfo.RedirectStandardOutput = True
    oProcess.StartInfo = oStartInfo
    oProcess.Start()

    Dim sOutput As String
    Using oStreamReader As System.IO.StreamReader = oProcess.StandardOutput
        sOutput = oStreamReader.ReadToEnd()
    End Using
    TextBox1.Text = sOutput

例如,如果我有几个命令,如:

主机名

WHOAMI

systeminfo | findstr / B / C:"主机名" / C:"操作系统名称" / C:"操作系统版本" / C:"系统制造商" / C:"系统模型" / C:"系统类型" / C:" OS配置" / C:"域"

ipconfig / all

我如何一个接一个地在文本框中堆叠输出?

VB pic

1 个答案:

答案 0 :(得分:0)

您可以将单个命令的输出存储在数组或变量(sOutput1,sOutput2,sOutput3等)中,并在文本框中连接所有结果:

TextBox1.Text = sOutput1 & Environment.NewLine & sOutput2 & Environment.NewLine & sOutput2