Process.Start()从命令提示符窗口获取错误

时间:2010-04-25 17:43:30

标签: c# process command-prompt

我正在尝试使用args 启动命令提示符进程。现在我想获取有关错误的信息。

someProcess = System.Diagnostics.Process.Start(cmd, someArgs);

最好的问候,loviji

3 个答案:

答案 0 :(得分:12)

其他答案都是正确的。以下是您可以使用的一些代码:

ProcessStartInfo startInfo = new ProcessStartInfo(cmd, args);
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
Process someProcess = Process.Start(startInfo);
string errors = someProcess.StandardError.ReadToEnd();

请注意,如果找不到该文件,则不会出现标准错误错误。你会得到一个例外。

答案 1 :(得分:2)

您可能正在寻找StandardError property

答案 2 :(得分:2)

Process.StandardError Property

  

获取用于读取应用程序错误输出的流。

这应该做你想要的。

注意

  

要使用StandardError,您必须将ProcessStartInfo.UseShellExecute设置为false,并且必须将ProcessStartInfo.RedirectStandardError设置为true。否则,从StandardError流中读取会引发异常。