我有一个c#控制台应用程序调用PowerShell脚本,如下所示。如果powershell脚本中有任何错误,我很乐意将错误报告给c#控制台,然后在控制台中断。怎么去那个?我们非常感谢代码示例。
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"powershell.exe";
startInfo.Arguments = argFinal;
startInfo.RedirectStandardOutput = false;
startInfo.RedirectStandardError = false;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.CreateNoWindow = false;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
此外,powershell脚本本身也会调用7-zip之类的东西。如果他们错了,我也想抓住那个。根据从powershell而不是c#console应用程序本身调用,不确定它是否会有不同的工作方式。
答案 0 :(得分:0)
您需要将RedirectStandardError
属性设置为true。然后,您可以读取Process对象上的StandardError
流以获取任何错误文本。有关详细信息,请参阅此MSDN topic。