2014-06-20 100 views
0

我有一組命令,我通過java執行。我將它們存儲在.bat文件中,然後通過java執行。當我通過命令提示符運行bat文件時,它會執行,但是當我通過java執行它時,只有1-2個命令執行並退出程序。請爲我提供解決方案。通過java執行一組命令

請建議我太多,如果任何其他命令引用

代碼的jar文件:

public static String cmdExec(String cmd) throws IOException { 

     Process p = Runtime.getRuntime().exec(cmd); 
} 
+0

是否可以發佈您的.bat文件? Runtime命令作爲Runtime.getRuntime()。exec(「cmd/c start」+ pathToBatFile);' –

+0

在exec後面添加一個p.waitFor()。不知道如果父進程終止,exec'd cmd會發生什麼情況。 – laune

+0

http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html – kaqqao

回答

0

用於執行一些基本形式應該是;

​​

有幾種情況下,可能會影響命令的執行,如果不等待其完成。

只有當您確定父進程(即該Java程序)繼續時,纔會啓動其他可能會干擾此exec的exec,並且不會影響此exec所需的資源,只有省略waitFor以提高效率(通過並行執行)。