2014-10-16 185 views
1

打開運行窗口(Windows + r)並運行命令 - >我想用Java觸發相同的命令。我試過這個使用:在運行窗口中調用命令

Runtime.getRuntime().exec(command); 

但這沒有奏效。請讓我知道如何做到這一點。

+0

確實[此](http://stackoverflow.com/questions/15464111/run-cmd-commands-through-java)和[此](HTTP: //www.mkyong.com/java/how-to-execute-shell-command-from-java/)幫助你 – 2014-10-16 15:11:48

+0

我之前檢查過這個鏈接,但沒有,它沒有幫助我。問題是:如果使用「運行窗口」運行命令,那麼它可以工作,但從'命令提示符'嘗試時相同的命令不起作用。因此,提供的鏈接對我沒有多大幫助。 – user182944 2014-10-16 15:13:39

回答

1

使用此命令:

Runtime.getRuntime().exec(new String[] {"cmd.exe", "/c", "start", "winword"}); 

這成功運行的Microsoft Word(winword),這是不可運行直接通過CMD。 start命令的行爲與run相同。

事後添加參數是這樣的:

Runtime.getRuntime().exec(new String[] {"cmd.exe", "/c", "start", "winword", "C:\\Example.docx"}); 
+0

這解決了我的問題。謝謝您的幫助。 – user182944 2014-10-16 15:29:59

+0

如何使用Runtime exec方法調用此命令:'start demo:「-ping -ip 172.18.102.65」'?我嘗試過:'Runtime.getRuntime()。exec(new String [] {「cmd.exe」,「/ c」,「start」,「demo:\」-ping -ip 172.18.102.65 \「」}) ;'但它沒有奏效。我收到一條錯誤消息:'Windows無法找到-ping'請問您能指導我嗎? – user182944 2014-10-17 16:27:01

+0

@ user182944我不知道該命令應該執行什麼操作,並且在我的計算機上無法運行。您試圖運行的計算機上是否有名爲'start demo'的程序? – Pokechu22 2014-10-17 16:29:47

2

你可以試試這個:

ProcessBuilder pb=new ProcessBuilder("explorer"); 
     pb.redirectErrorStream(true); 
     Process process=pb.start(); 
     BufferedReader inStreamReader = new BufferedReader(
      new InputStreamReader(process.getInputStream())); 

     while(inStreamReader.readLine() != null){ 
      //do something with commandline output. 
     } 
相關問題