我正在尝试使用 args启动命令提示符进程。现在我想获取有关错误的信息(如果存在)。
someProcess = System.Diagnostics.Process.Start(cmd, someArgs);
最好的问候,洛维吉
我正在尝试使用 args启动命令提示符进程。现在我想获取有关错误的信息(如果存在)。
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
物业。
获取用于读取应用程序错误输出的流。
这应该做你想要的。
笔记
要使用 StandardError,必须将ProcessStartInfo.UseShellExecute设置为 false,并且必须将ProcessStartInfo.RedirectStandardError设置为 true。否则,从 StandardError 流中读取会引发异常。