我已经在VB中编写了代码来运行CMD命令,其中输出存储到文本文件中。程序需要此输出,因此程序需要等到CMD命令完成后才能继续。我正在使用
Dim wait As Process = Process.Start(psi)
wait.WaitForExit()
为确保在代码继续之前退出进程,但现在我已经完成了,进程信息中的“ / c”选项不再起作用。流程信息如下:
Dim psi As New ProcessStartInfo With {
.FileName = "Cmd",
.Arguments = "/c " & completedCom & " > " & oPath
}
我不明白为什么“ / c”选项会突然失败。
答案 0 :(得分:0)
空格将是一个问题的示例。在命令周围使用引号可以帮助解决问题:
Dim psi As New ProcessStartInfo With {
.FileName = "Cmd",
.Arguments = "/c """ & completedCom & """ > """ & oPath & """"
}
调用process的首选方法是直接调用exec,而不是启动cmd。在这种情况下,您将不得不异步捕获标准输出并将其写入文件。