我正在尝试使用参数启动命令提示符进程。现在,如果存在错误,我想获取有关错误的信息。
someProcess = System.Diagnostics.Process.Start(cmd, someArgs);
最好的祝福,loviji
我正在尝试使用参数启动命令提示符进程。现在,如果存在错误,我想获取有关错误的信息。
someProcess = System.Diagnostics.Process.Start(cmd, someArgs);
最好的祝福,loviji
其他答案都是正确的。这里是一些你可以使用的代码:
ProcessStartInfo startInfo = new ProcessStartInfo(cmd, args);
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
Process someProcess = Process.Start(startInfo);
string errors = someProcess.StandardError.ReadToEnd();
请注意,如果找不到文件,您将不会在标准错误上收到错误信息。相反,您将收到一个异常。
获取用于读取应用程序错误输出的流。
这应该可以满足您的需求。
注意
要使用StandardError,必须将ProcessStartInfo.UseShellExecute设置为false,并将ProcessStartInfo.RedirectStandardError设置为true。否则,从StandardError流中读取会抛出异常。