2
我試圖從應用程序中調用批處理文件,但我希望隱藏命令窗口並將標準輸出重定向到一個或多個位置(因爲它是由批處理文件生成的)。如何在後臺啓動批處理文件並重定向其輸出?
我的問題是,當批處理文件運行時,控制檯啓動並且不顯示任何內容;它剛起來。任務完成後,控制檯關閉。我想擺脫控制檯(也許它在後臺運行)。
另一個問題是我將輸出重定向到richtext框。如果我將它重定向到控制檯或文本框,它只是一次吐出所有結果。我希望它能夠一行一行地吐出來。合理?
的代碼如下:
//Declare and instantiate a new process component.
System.Diagnostics.Process process1;
process1 = new System.Diagnostics.Process();
process1.StartInfo.UseShellExecute = false;
process1.StartInfo.RedirectStandardOutput = true;
process1.StartInfo.FileName = "cmd.exe";
process1.StartInfo.Arguments = "<BATCHfILE>";
process1.Start();
string output = process1.StandardOutput.ReadToEnd();
rchsdtOut.Text = output;
Console.WriteLine(process1.StandardOutput.ReadToEnd());
process1.WaitForExit();
process1.Close();
讓我試試這個。 – user1158745
所以,你剛剛說的是上面所說的,但它不是直接在dos控制檯上直接打印事件,而只是將它全部打包在一個塊中。 – user1158745
對不起,我的錯誤。我現在只是試圖讓它寫入控制檯,但它沒有寫任何東西。 Console.WriteLine(e.Data.ToString()); – user1158745