在 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中文網其他相關文章!