我使用這樣的代碼:命令打開一個命令提示符,
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C SomeEXE inputfile.txt";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
process.StartInfo = startInfo;
process.Start();
// Now use streams to capture the output
StreamReader outputReader = process.StandardOutput;
process.WaitForExit();
String line = outputReader.ReadToEnd();
這工作得很好。但是,發出的命令(SomeEXE)會導致打開另一個命令提示符,其中包含實際結果並等待回車被關閉。是否有可能獲得此輸出併發出回車?謝謝。
我沒有獲得輸出 - 至少字符串是空的。 '派生命令提示符'包含輸出數據。問題是我如何獲得這些數據。 – cs0815
哦,我明白了。給我一點時間來考慮這一點。 –
僅供參考......你爲什麼要通過一個新的命令shell啓動SomeEXE而不是直接作爲process.Start()的目標? –