Вход в текстовый файл из Process.Start - PullRequest
2 голосов
/ 24 октября 2011

Я запускаю процесс, используя 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 ]

1 голос
/ 24 октября 2011

Вам необходимо использовать перенаправление вывода. Смотрите здесь: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput.aspx

0 голосов
/ 24 октября 2011

Вы можете перенаправить вывод на что угодно ... например, на поток ... вы даже можете обработать вывод в отдельном потоке, если хотите - исходный код и подробности см. http://www.codeproject.com/KB/threads/ReadProcessStdoutStderr.aspx

...