Перенаправить вывод из Start.Process - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь перенаправить вывод моей программы командной строки, когда она вызывается с помощью Process.Start(). Я пробовал все перестановки RedirectStandardOutput, UseShellExecute и CreateNowWindow, и мне не повезло.

Я знаю, что есть другие способы сделать это, например, прочитать StandardOutput после этого, но я бы предпочел перенаправить его с аргументами, если это возможно, в файл. Меня интересует только код возврата, и мне нужен только вывод myprog.exe в go в файл. Моей программе не нужно знать, каков результат.

var p = new Process();
p.StartInfo.FileName = @"myprog.exe";
p.StartInfo.Arguments = " " + InputFilename + " > " + OutputFilename;

p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;

p.Start();
p.WaitForExit();
var result = p.ExitCode;

1 Ответ

0 голосов
/ 28 мая 2020

Это сработает для моей проблемы. Получите результат с помощью p.StandardOutput.ReadToEnd () и запишите его в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...