我正在尝试使用args 启动命令提示符进程。现在我想获取有关错误的信息。
someProcess = System.Diagnostics.Process.Start(cmd, someArgs);
最好的问候,loviji
答案 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流中读取会引发异常。