12

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

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

最好的问候,洛维吉

4

3 回答 3

13

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

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

请注意,如果未找到该文件,您将不会收到标准错误错误。你会得到一个例外。

于 2010-04-25T17:52:34.057 回答
2

您可能正在寻找该StandardError物业

于 2010-04-25T17:45:51.163 回答
2

Process.StandardError属性

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

这应该做你想要的。

笔记

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

于 2010-04-25T17:46:39.510 回答