Member 12301443 Ответов: 1

Как получить выходные данные в папке debug также в другой папке


private void button35_Click_1(object sender, EventArgs e)
       {
           string str = @"C:\output\run\Ocirc.exe";
           Process process = new Process();
           process.StartInfo.FileName = str;
           process.Start();
       }


Что я уже пробовал:

здесь в коде полученный вывод хранится в папке debug, но мне нужно получить вывод в соответствующих файлах, а не только отлаживать.

Suvendu Shekhar Giri

Каков вывод этого кода?

1 Ответов

Рейтинг:
6

Garth J Lancaster

Я бы поискал в сети выход перенаправления процесса C# Spawn.. есть много примеров ... в сущности, вы в конечном итоге делаете что-то вроде

process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.OutputDataReceived += (sender, args) => Console.WriteLine("received output: {0}", args.Data);
process.Start();
process.BeginOutputReadLine();


где вы бы заменили консоль.WriteLine с записью в файл по вашему выбору ...

вы также можете зафиксировать стандартную ошибку, добавив

RedirectStandardError = true 

process.ErrorDataReceived += (sender, args) => Console.WriteLine(args.Data); 

process.BeginErrorReadLine();


кстати, этот код не мой, а благодаря Джуде Химанго (которого я уже давно здесь не видел)

вот вам еще один "стартер" Запуск процесса и захват его выходных данных (C#) · GitHub[^]