Вход в текстовый файл из Process.Start
Я запускаю процесс, используя 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 ответа
Вы можете перенаправить вывод на что угодно... например, на поток... вы можете даже обработать вывод в отдельном потоке, если хотите - исходный код и подробности см. http://www.codeproject.com/KB/threads/ReadProcessStdoutStderr.aspx
Вам нужно использовать перенаправление вывода. Смотрите здесь: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput.aspx