.NET で複数のコマンドを効率的に実行する
.NET 開発では、新しいプロセスを繰り返し作成せずに複数のコマンド ラインを実行することが必要になることがよくあります。 。このアプローチは時間がかかり、非効率的になる可能性があります。
この問題に対処するために、提供されているコード スニペットはプロセス リダイレクトと呼ばれる手法を活用しています。プロセスの標準入力をリダイレクトすることで、毎回新しいシェルを作成することなく、プロセスにコマンドを直接書き込むことができます。
以下の更新された ExecuteCommand メソッドは、この手法を実装しています。
private void ExecuteCommand(string Command, int Timeout, Boolean closeProcess) { Process p = new Process(); ProcessStartInfo info = new ProcessStartInfo(); info.FileName = "cmd.exe"; info.RedirectStandardInput = true; info.UseShellExecute = false; p.StartInfo = info; p.Start(); using (StreamWriter sw = p.StandardInput) { if (sw.BaseStream.CanWrite) { sw.WriteLine(Command); } } p.WaitForExit(Timeout); if (closeProcess == true) { p.Close(); } }
この更新されたメソッドでは、コマンドを「/C {command}」としてプロセス開始情報に渡す代わりに、プロセスの標準入力をリダイレクトし、StreamWriter を使用してコマンドを直接書きます。これにより、複数のプロセスを作成せずに複数のコマンドを実行できます。
コマンド内の「」を処理するには、逐語的な文字列 (先頭に @ を付ける) を使用して、文字をそのままコマンド文字列に含めます。
以上がプロセスを繰り返し作成せずに、.NET で複数のコマンドを効率的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。