【解決方法】複数の CMD コマンドを実行する


こんにちは、1 回のプロセス開始でより多くのコマンド (引数) を送信しようとしました

新しい引数は 1 つだけです: rut_ors_p 機能しますが、必要です
この開始にmessagesrv_pとetl_pを追加します、可能ですか?

私が試したこと:

<pre>string strCmdText = ("rut_ors_p");

良くないことはわかっています。

            string rut_ors_p = "-cshost xyz -csport 1234 -scshost xyz  -scsport 2589 -csappname default  -csuser user -cspassword aaaa -switchapp rut_ors_p";
            string rut_messagesrv_p = "-cshost xyz -csport 1234 -scshost xyz  -scsport 2589 -csappname default  -csuser user -cspassword aaaa -switchapp rut_messagesrv_p";

string etl_p = "-cshost xyz -csport 1234 -scshost xyz  -scsport 2589 -csappname default  -csuser user -cspassword aaaa -switchapp etl_p";
            
            myProcess.StartInfo.UseShellExecute = false;
            myProcess.StartInfo.CreateNoWindow = true;
            myProcess.StartInfo.RedirectStandardInput = true;
            myProcess.StartInfo.RedirectStandardOutput = true;
            myProcess.StartInfo.RedirectStandardError = true;
            string strCmdText = ("rut_ors_p");
            Process.Start(@"C:\Users\zzzz\Documents\SCServer_mlcmd\mlcmd.exe", rut_ors_p);

解決策 1

私は EXE ファイルにアクセスできません (これは Genesys のものだと思います) が、試すことができる 2 つの方法があります。1 つはパラメータ文字列をそれらの間にスペースを入れて連結することです。

C#
Process.Start(@"C:\Users\zzzz\Documents\SCServer_mlcmd\mlcmd.exe", String.Join(" ", rut_ors_p, rut_messagesrv_p, etl_p);

または、3 つの個別の開始コマンドを発行します。

C#
Process.Start(@"C:\Users\zzzz\Documents\SCServer_mlcmd\mlcmd.exe", rut_ors_p);
Process.Start(@"C:\Users\zzzz\Documents\SCServer_mlcmd\mlcmd.exe", rut_messagesrv_p,);
Process.Start(@"C:\Users\zzzz\Documents\SCServer_mlcmd\mlcmd.exe", etl_p);

どちらが必要かは、アプリが最初にどのように書かれたかによって決まります。

コメント

タイトルとURLをコピーしました