コンソールからのデフォルトのリダイレクトを使用する場合
proc = new System.Diagnostics.Process();
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.OutputDataReceived += proc_OutputDataReceived;
proc.Exited += proc_Exited;
proc.ErrorDataReceived += proc_ErrorDataReceived;
proc.Start();
proc.BeginOutputReadLine();
proc.BeginErrorReadLine();
問題があります(Windows Git bash msysgitでテスト済み)
OutputDataReceivedには、すべてのデータが含まれるわけではありません。
OutputDataReceivedには、テキストの色のデータは含まれていません。
ErrorDataReceivedで間違ったデータが発生します。
スクリーンショット:
gitbashコンソール
リダイレクトされたデータ
質問:
リダイレクトによって正しいデータを取得する方法はありますか?
コンソールから正しいデータを取得する別の方法はありますか?