从文本框打开并向cmd写入命令

时间:2016-02-11 16:54:01

标签: c# process cmd

大家好我想尝试做的是打开一个cmd.exe并从多个文本框中写入但我不能让任何东西显示但是cmd。

System.Diagnostics.Process.Start("cmd", "perl "+ textBox5.Text + textBox4.Text + textBox6.Text + textBox7.Text + textBox8.Text + textBox9.Text);

2 个答案:

答案 0 :(得分:1)

您需要使用cmd选项启动/c,并使用"之类的cmd /c "perl ...传递以下所有数据,或者您可以启动perl作为过程并将其他所有内容作为参数传递。

您可以找到有关参数here的详细文档。

因此您必须将代码更改为

System.Diagnostics.Process.Start("cmd","/c \"perl "+ textBox5.Text + textBox4.Text + textBox6.Text + textBox7.Text + textBox8.Text + textBox9.Text + "\"");

System.Diagnostics.Process.Start("perl", textBox5.Text + textBox4.Text + textBox6.Text + textBox7.Text + textBox8.Text + textBox9.Text);

此外:您可以不将+strings结合使用,从而提高代码的可读性和性能。如果您使用StringBuilder,则可以将代码更改为以下代码:

StringBuilder arguments = new StringBuilder();
arguments.Append(textBox5.Text);
arguments.Append(textBox4.Text);
arguments.Append(textBox6.Text);
arguments.Append(textBox7.Text);
arguments.Append(textBox8.Text);
arguments.Append(textBox9.Text);

System.Diagnostics.Process.Start("perl", arguments.ToString());

答案 1 :(得分:0)

您必须将参数/ c或/ k添加到参数的开头

http://ss64.com/nt/cmd.html