在此先感谢我只是想知道是否有办法从vb.net程序中读取正在运行的批处理文件的输出。谢谢!
答案 0 :(得分:0)
正如上面提到的一位评论者所提到的,您可以在VB.NET程序中的shell中运行批处理文件,然后读取定向输出。我在之前的项目中完成了这项工作。
以下是一段代码片段,展示了如何执行此操作:
Dim outputFile As String = """" & Path.GetTempFileName & """"
Dim batchCommand As String = """C:\Path\To\MyFile.bat"">" & outputFile
Dim cmdProcess As New Process
With cmdProcess
.StartInfo = New ProcessStartInfo("cmd.exe", "/C " & batchCommand)
With .StartInfo
.CreateNoWindow = True
.UseShellExecute = False
End With
.Start()
.WaitForExit()
End With
' This is the output from the batch file.
Dim batchOutput As String = My.Computer.FileSystem.ReadAllText(outputFile)