在java中执行后关闭批处理文件

在java中执行后关闭批处理文件,java,windows,spring-mvc,batch-file,cmd,Java,Windows,Spring Mvc,Batch File,Cmd,我正在尝试创建一个bat文件并运行它。一旦执行完成,bat文件应该关闭 String cmd = "cmd /c start" + " "+"java -jar batchfilepath"+" "+"\n exit"; Runtime r = Runtime.getRuntime(); Process pr = r.exec(cmd); 问题-我可以关闭bat文件,但它在执行完成之前关闭 我试过以下方法 1.if(p.waitfor()==0) {rt.exec("taskkill /IM

我正在尝试创建一个bat文件并运行它。一旦执行完成,bat文件应该关闭

String cmd = "cmd /c start" + " "+"java -jar batchfilepath"+" "+"\n exit";

Runtime r = Runtime.getRuntime();
Process pr = r.exec(cmd);
问题-我可以关闭bat文件,但它在执行完成之前关闭

我试过以下方法

1.if(p.waitfor()==0)
{rt.exec("taskkill /IM cmd.exe");}
2.cmd /c start \wait  
3.cmd /k start \wait 
4.processBuilder

这方面的帮助。

添加/wait以等待整个执行完成,然后关闭批处理文件

试试这个。希望这能奏效


cmd/c start“+”+”/wait“+”

这对我在windows中使用java.jar文件很有效

批处理文件:

@echo off
cd  C:\NetbeansProject\
java -jar MP2ways.jar
显示数据后程序结束,添加:

   System.out.println("\n Hit Return to exit... ");
   String kS = scan.nextLine();
   System.exit(0);
按回车键时窗口关闭。
(不管它值多少钱,这都不算什么)

add
pr.waitFor()…我也试过了。没有工作这里实际上不需要使用特定于平台的脚本语言来加载JAR文件:这是Java,使用特定于平台的代码几乎破坏了它的整个概念,没有任何意义。