Process.Start()从命令提示符窗口获取错误
我正在尝试使用args 启动命令promt进程 。 现在我想获取有关错误的信息(如果存在)。
someProcess = System.Diagnostics.Process.Start(cmd, someArgs);
最好的问候,洛维吉
其他答案都是正确的。 以下是您可以使用的一些代码:
ProcessStartInfo startInfo = new ProcessStartInfo(cmd, args); startInfo.UseShellExecute = false; startInfo.RedirectStandardError = true; Process someProcess = Process.Start(startInfo); string errors = someProcess.StandardError.ReadToEnd();
请注意,如果找不到该文件,则不会出现标准错误错误。 你会得到一个例外。
您可能正在寻找StandardError
属性 。
Process.StandardError
属性 :
获取用于读取应用程序的错误输出的流。
这应该做你想要的。
注意
要使用StandardError,必须将ProcessStartInfo.UseShellExecute设置为false,并且必须将ProcessStartInfo.RedirectStandardError设置为true。 否则,从StandardError流中读取会引发exception。