Я хочу, чтобы оба .RedirectStandardOutput = true / false - PullRequest
0 голосов
/ 30 августа 2010

// с помощью этого кода я хочу, чтобы пакетный файл, который будет выполняться, будет отображать вывод на экране оболочки, который я получил RedirectStandardOutput = false;

но я также хочу, чтобы в то же время вывод был перенаправлен в файл журнала, для этого я должен сделать это как RedirectStandardOutput = true;

но однажды можно использовать либо true или false , пожалуйста, помогите мне, великие программисты ... !!

        System.Diagnostics.Process p = new System.Diagnostics.Process();
        p.StartInfo.FileName = "c:\test\build.bat";

        p.StartInfo.UseShellExecute = false;

        p.StartInfo.RedirectStandardOutput = true;


        p.Start();

        string output = null;
      //  try
      //  {

            output = p.StandardOutput.ReadToEnd();

      //  }
      //  catch (Exception ex)
      //  {
      //     MessageBox.Show(ex.ToString());
      //  }

        System.IO.File.WriteAllText("c:\test\log.txt", output);

1 Ответ

1 голос
/ 30 августа 2010

Вы можете записать полученный вывод от p.StandardOutput до Console.Write.
Чтобы увидеть, как вывод отображается в реальном времени, замените одиночный вызов ReadToEnd зацикленным вызовом на ReadLine.

...