猿问

如何:在C#中执行命令行,获取STD输出结果

如何:在C#中执行命令行,获取STD输出结果

如何从C#执行命令行程序并返回STD的输出结果?具体来说,我希望对以编程方式选择的两个文件执行diff,并将结果写入文本框。



倚天杖
浏览 831回答 3
3回答

Helenr

// Start the child process.  Process p = new Process();  // Redirect the output stream of the child process.  p.StartInfo.UseShellExecute = false;  p.StartInfo.RedirectStandardOutput = true;  p.StartInfo.FileName = "YOURBATCHFILE.bat";  p.Start();  // Do not wait for the child process to exit before  // reading to the end of its redirected stream.  // p.WaitForExit();  // Read the output stream first and then wait.  string output = p.StandardOutput.ReadToEnd();  p.WaitForExit();代码来自MSDN.

一只名叫tom的猫

还有一个参数是有用的,我用它来消除流程窗口。pProcess.StartInfo.CreateNoWindow = true;这有助于完全对用户隐藏黑色控制台窗口,如果这是您所希望的。
随时随地看视频慕课网APP
我要回答