将文本框输入添加到现有的StartInfo.Arguments

本文关键字:StartInfo Arguments 文本 输入 添加 | 更新日期: 2023-09-27 18:09:10

我有一段我想修复的代码:

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
//p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false; // This line will not create any new window for command prompt.
p.StartInfo.FileName = @"C:'Program Files (x86)'Citrix'System32'dscheck.exe";
p.StartInfo.Arguments = "/full groups /clean";
p.StartInfo.Arguments = argTextBox.Text;
p.Start();
System.Threading.Thread.Sleep(50);
System.Windows.Forms.SendKeys.Send("y");
System.Threading.Thread.Sleep(50);
string s = p.StandardOutput.ReadToEnd();
MessageBox.Show(s); //Shows a Popup of the output from Dscheck
//String s = p.StandardOutput.ReadToEnd();

我的问题是:

p.StartInfo.Arguments = "/full groups /clean";
p.StartInfo.Arguments = argTextBox.Text;

我正试图通过tscheck.exe /full /groups /clean {UID} - UIDargTextBox中输入,但它不工作。它的意思是:p.StartInfo.Arguments = "/full groups /clean";取argTextBox,不放置任何东西

任何想法如何添加文本框输入到现有的参数?

将文本框输入添加到现有的StartInfo.Arguments

p.StartInfo.Arguments = "/full groups /clean " + argTextBox.Text;

不从文本框中分配文本,而是将其附加到现有参数中。

只需在当前参数的末尾加上参数(当然要用空格分隔符)

    p.StartInfo.Arguments = "/full groups /clean " + argTextBox.Text;
    p.Start();

在您要替换之前分配的值的第二个赋值中,替换以下行:

p.StartInfo.Arguments = "/full groups /clean";
p.StartInfo.Arguments = argTextBox.Text;

:

p.StartInfo.Arguments = String.Format("/full groups /clean {0}", argTextBox.Text);