C#アプリケーション内のコマンドライン出力をキャプチャ
C#開発では、コマンドラインアプリケーションを実行して出力を取得する必要があることがよくあります。これは、ファイル比較のようなタスク(diff
などのツールを使用)にとって重要です。 Process
クラスは、堅牢なソリューションを提供します。これが段階的なガイドです:
外部プロセスを開始する:
<code class="language-csharp">Process process = new Process();</code>
標準の出力ストリームをリダイレクト:
<code class="language-csharp">process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true;</code>
コマンドを指定してください:
<code class="language-csharp">process.StartInfo.FileName = "YOURBATCHFILE.bat"; // Or any executable path</code>
実行を開始:
<code class="language-csharp">process.Start();</code>
出力(非ブロッキング)を取得:
<code class="language-csharp">string output = process.StandardOutput.ReadToEnd();</code>
プロセスの完了をお待ちしています:
<code class="language-csharp">process.WaitForExit();</code>
output
文字列変数は、コマンドの標準出力を保持します。
MSDNドキュメントに基づいたこのアプローチは、C#アプリケーション内の外部プロセスを管理するための
を実行可能ファイルへの実際のパスに置き換えることを忘れないでください。
以上がC#でコマンドライン出力を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。