.NET で単一プロセスで複数のコマンドを実行する
.NET で単一プロセスを使用して複数のコマンドを実行するには、以下が必要ですまず、「Process」クラスのインスタンスを、対応する「ProcessStartInfo」オブジェクトとともに作成して、 process.
次に、「ProcessStartInfo」オブジェクトの「RedirectStandardInput」プロパティを「true」に設定して標準入力のリダイレクトを有効にし、「UseShellExecute」を「false」に設定してシェル実行の使用を無効にします。 .
プロセスが適切に設定されていれば、 「プロセス」オブジェクト。これにより、プロセスが開始され、標準入力、出力、およびエラー ストリームに関連付けられます。
プロセスの標準入力ストリームに書き込むには、'StandardInput' プロパティを使用して 'StreamWriter' オブジェクトを取得できます。 「プロセス」オブジェクトについて。このストリームで「WriteLine」メソッドを使用すると、プロセスによって実行されるコマンドを作成できます。
これを説明するために、単一のプロセスを使用して複数の MySQL コマンドを実行する例を示す次のコードを考えてみましょう。
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("mysql -u root -p"); sw.WriteLine("mypassword"); sw.WriteLine("use mydb;"); } }
このコードは、「cmd.exe」実行可能ファイルのプロセスを作成し、標準入力をリダイレクトし、シェルの実行を無効にします。 「using」ブロック内では、「StreamWriter」を使用して、MySQL サーバーへの接続、パスワードの指定、目的のデータベースの選択などのコマンドを標準入力に書き込みます。これらのコマンドを 1 つのプロセスで実行することで、複数のプロセスの作成を回避し、コマンドが特定の順序で実行されるようにすることができます。
以上が.NET を使用して単一プロセスで複数のコマンドを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。