如何使用c#获取批处理文件执行失败的原因?

时间:2010-09-21 05:38:47

标签: c#

我正在使用下面的代码来通知执行启动进程的批处理文件是否有任何问题。此消息框显示批处理文件的内容,并未显示导致的问题。如何才能找到批处理文件执行失败的原因?

   System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(filename);
                psi.RedirectStandardOutput = true;
                psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                psi.UseShellExecute = false;
                System.Diagnostics.Process listFiles;
                listFiles = System.Diagnostics.Process.Start(psi);
                System.IO.StreamReader myOutput = listFiles.StandardOutput;
                listFiles.WaitForExit(2000);
                if (listFiles.HasExited)
                {
                    string output = myOutput.ReadToEnd();
                    MessageBox.Show(output);
                }

1 个答案:

答案 0 :(得分:3)

尝试阅读listFiles.StandardError而不是StandardOutput的内容。