通过java执行一组命令

通过java执行一组命令,java,batch-file,cmd,threadpool,Java,Batch File,Cmd,Threadpool,我有一组通过java执行的命令。我将它们存储在.bat文件中,然后通过java执行。当我通过命令提示符运行bat文件时,它会执行,但当我通过java执行它时,只有1-2个命令执行,程序退出。请给我建议解决这个问题的方法 如果引用了任何其他命令,请建议我使用jar文件 代码: 执行某事的基本形式应该是 public static String cmdExec(String cmd) throws IOException { Process p = Runtime.getRuntime().

我有一组通过java执行的命令。我将它们存储在.bat文件中,然后通过java执行。当我通过命令提示符运行bat文件时,它会执行,但当我通过java执行它时,只有1-2个命令执行,程序退出。请给我建议解决这个问题的方法

如果引用了任何其他命令,请建议我使用jar文件

代码:


执行某事的基本形式应该是

public static String cmdExec(String cmd) throws IOException {
    Process p = Runtime.getRuntime().exec(cmd);
    p-waitFor();
}
如果不等待命令完成,有几种情况可能会影响命令的执行


只有当您确定父进程(即此Java程序)继续运行时,才会启动可能干扰此执行的其他执行程序,不会影响此执行程序所需的任何资源,只有在这样的情况下,才可以通过并行执行省略waitFor以提高效率。

是否可以发布您的.bat文件?运行时命令的作用是Runtime.getRuntime.execcmd/c start+pathToBatFile;在exec之后添加一个p.waitFor。不确定如果父进程终止,exec'd cmd会发生什么情况。
public static String cmdExec(String cmd) throws IOException {
    Process p = Runtime.getRuntime().exec(cmd);
    p-waitFor();
}