Добавление «>» в ​​экземпляр Process.Start - PullRequest
1 голос
/ 17 июня 2011

Как я могу сказать программе "test.exe" (которая является консольным приложением) выводить свой результат в файл.

Например, обычно программа может выводить данные, выполняя test.exe> ​​output.txt в приглашении.

Как это можно сделать в этом утверждении?

Process.Start("test.exe", "\"" + exename + "\"").WaitForExit();

Ответы [ 3 ]

7 голосов
/ 17 июня 2011

Используйте свойство StandardOutput, как в этом примере со страницы MSDN:

// Start the child process.
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "Write500Lines.exe";
p.Start();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();

Как видите, вам нужно установить свойство RedirectStandardOutput для Process s StartInfo.

3 голосов
/ 17 июня 2011

и если вы хотите перенаправить вывод только в файл, называемый piping, вы можете попросить cmd.exe сделать это за вас.т.е.

Process.Start("cmd.exe", "/c test.exe \"" + exename + "\" > D:\\testOutput.txt").WaitForExit();
0 голосов
/ 17 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...