我使用这样的代码:命令打开一个命令提示符,
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()的目标? –