大家好我想尝试做的是打开一个cmd.exe并从多个文本框中写入但我不能让任何东西显示但是cmd。
System.Diagnostics.Process.Start("cmd", "perl "+ textBox5.Text + textBox4.Text + textBox6.Text + textBox7.Text + textBox8.Text + textBox9.Text);
答案 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添加到参数的开头