ホームページ > バックエンド開発 > C++ > .NET を使用して単一プロセスで複数のコマンドを実行するにはどうすればよいですか?

.NET を使用して単一プロセスで複数のコマンドを実行するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-31 09:09:10
オリジナル
650 人が閲覧しました

How to Execute Multiple Commands in a Single Process Using .NET?

.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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート