在 C# 中执行命令行程序并检索其 STDOUT 结果
在 C# 中执行命令行程序对于自动化任务或将外部工具集成到应用程序中非常有用。一个常见的挑战是检索程序的 STDOUT(标准输出)结果。
为此,您可以利用 System.Diagnostics
命名空间中的 Process
类。此类允许您创建和管理子进程,这些子进程是与主程序同时运行的独立可执行文件。
分步执行和 STDOUT 检索
Process
类构造函数实例化一个对象。StartInfo
属性以配置其执行行为。例如,您可以将 FileName
指定为您要执行的命令行程序的路径。UseShellExecute
设置为 false
。RedirectStandardOutput
设置为 true
来启用标准输出重定向。这允许您在子进程写入控制台时读取其输出。Start()
方法使用已配置的执行参数启动子进程。StandardOutput
属性将子进程的输出读取为字符串。然后,您可以使用此字符串根据需要显示或处理结果。WaitForExit()
方法等待子进程完成。示例代码
以下代码片段演示了如何执行命令行程序(在本例中为 DIFF)并检索其 STDOUT 结果:
<code class="language-csharp">// 启动子进程。 Process p = new Process(); // 重定向子进程的输出流。 p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = "diff"; p.Start(); // 不要在读取其重定向流的末尾之前等待子进程退出。 // p.WaitForExit(); // 先读取输出流,然后再等待。 string output = p.StandardOutput.ReadToEnd(); p.WaitForExit();</code>
通过遵循这些步骤,您可以执行命令行程序并访问其标准输出结果,从而使您可以自动化任务并增强 C# 应用程序的功能。
以上是如何在C#中执行命令行程序并检索其Stdout结果?的详细内容。更多信息请关注PHP中文网其他相关文章!