如果使用默認從控制檯重定向控制檯輸出重定向(不是所有的數據重定向C#)
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中出錯的數據。
屏幕截圖:
混帳bash的控制檯
重定向數據
的問題:
有辦法通過重定向獲取正確的數據嗎?
還有另一種方法從控制檯獲取正確的數據?
謝謝,我不知道 「接受」 –
你正在使用Unix程序的工作。這需要處理Unix終端I/O的怪癖。矩形是執行終端功能的轉義序列。底層的Unix庫有一個非常合適的名稱,它是「詛咒」。 –
這很難過,但必須有解決方案 –