如果从控制台使用默认重定向
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 中出现错误数据。
屏幕截图:
git bash 控制台
重定向数据
问题:
有没有办法通过重定向获得正确的数据?
还有另一种从控制台获取正确数据的方法吗?