从Process.Start记录到文本文件

时间:2011-10-24 15:42:02

标签: c# logging process text-files processstartinfo

我正在使用Process.Start(ProcessStartInfo)启动一个进程。它当前显示一个控制台窗口,并在那里显示进程的输出,直到进程完成,在这种情况下控制台窗口会自动关闭。

该过程会输出大量文本,因此我不只是想将此输出重定向到字符串,就像我到目前为止找到的示例一样。

如何让控制台输出的文本进入文本日志文件?

ProcessStartInfo myPSI = new ProcessStartInfo();
myPSI.FileName = myFileName;
myPSI.Arguments = myArgs;
myPSI.CreateNoWindow = false;
myPSI.UseShellExecute = false;
myPSI.WindowStyle = ProcessWindowStyle.Hidden;

try
{
  using (Process exeProcess = Process.Start(myPSI))
  {
    exeProcess.WaitForExit();
  }
}
catch
{
}

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以将输出重定向到您想要的任何内容...例如流...如果您愿意,您甚至可以在单独的线程中处理输出 - 对于源代码和详细信息,请参阅http://www.codeproject.com/KB/threads/ReadProcessStdoutStderr.aspx