嗨,大家好我試圖做的是打開一個cmd.exe並從多個文本框中寫入,但我不能得到任何東西來顯示,但CMD。打開和寫命令從文本框中的cmd
System.Diagnostics.Process.Start("cmd", "perl "+ textBox5.Text + textBox4.Text + textBox6.Text + textBox7.Text + textBox8.Text + textBox9.Text);
嗨,大家好我試圖做的是打開一個cmd.exe並從多個文本框中寫入,但我不能得到任何東西來顯示,但CMD。打開和寫命令從文本框中的cmd
System.Diagnostics.Process.Start("cmd", "perl "+ textBox5.Text + textBox4.Text + textBox6.Text + textBox7.Text + textBox8.Text + textBox9.Text);
的開始,您將需要與選擇/c
開始要麼cmd
,並通過每一個下面的數據通過使用"
,比如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());
沒有解釋的downvote總是很棒...... :-( –
抱歉是一個意外只是試圖看看它是否工作 – Waypast
你應該到參數/ C或/ K添加到您的PARAMS
我已經張貼的答案,希望它可以幫助;-) –
嘗試做對'的System.Diagnostics.Process谷歌搜索。開始expamples'有很多這裏有一個https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjv3djnmfDKAhXLSCYKHQLhCDYQFggcMAA&url=http%3A%2F %2Fwww.codeproject.com%2Frticles%2F4272%2FUsing-Diagnostics-Process-to-start-an-external-app&usg = AFQjCNFycjpPWKQXly90O4K90PcypfT_2Q&bvm = bv.113943164,d.cWw – MethodMan
@Waypast:如果我的回答幫助你,請給我一個upvote - 謝謝。 –