2016-02-11 47 views
3

嗨,大家好我試圖做的是打開一個cmd.exe並從多個文本框中寫入,但我不能得到任何東西來顯示,但CMD。打開和寫命令從文本框中的cmd

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

我已經張貼的答案,希望它可以幫助;-) –

+0

嘗試做對'的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

+0

@Waypast:如果我的回答幫助你,請給我一個upvote - 謝謝。 –

回答

1

的開始,您將需要與選擇/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()); 
+0

沒有解釋的downvote總是很棒...... :-( –

+1

抱歉是一個意外只是試圖看看它是否工作 – Waypast

相關問題