使用java执行批处理文件后无法关闭命令提示符
我正在使用以下命令调用build.bat文件使用java执行批处理文件后无法关闭命令提示符,java,batch-file,execute,Java,Batch File,Execute,我正在使用以下命令调用build.bat文件 rt.exec(new String[]{"cmd.exe","/C","start", "/MIN","build.bat"}); 此行将打开一个命令提示符。生成成功,但窗口仍保持打开状态。 如何关闭它? 试图破坏进程和其他System.ext方法。没有用您不应该在参数中使用start/MIN。你试过这个吗 rt.exec(new String[]{"cmd.exe","/C","build.bat"}); 您不需要在参数中使用start/MI
rt.exec(new String[]{"cmd.exe","/C","start", "/MIN","build.bat"});
此行将打开一个命令提示符。生成成功,但窗口仍保持打开状态。
如何关闭它?
试图破坏进程和其他System.ext方法。没有用您不应该在参数中使用
start/MIN
。你试过这个吗
rt.exec(new String[]{"cmd.exe","/C","build.bat"});
您不需要在参数中使用
start/MIN
。你试过这个吗
rt.exec(new String[]{"cmd.exe","/C","build.bat"});
在bat文件末尾添加
exit
,也无需提前添加cmd
,您可以直接执行bat在bat文件末尾添加exit
,也无需提前添加cmd
,您可以直接执行bat只需更新批(.bat)使用新行创建文件并键入该新行:退出
只需使用新行更新批(.bat)文件并键入该新行:退出
这是一个用于在使用批处理文件执行程序后关闭命令提示符的命令
writer.write("expdp greenbuds/greenbuds directory=backup dumpfile="+dd+".dump logfile="+dd+".log");
writer.newLine();
writer.write("Exit");
而不是:启动“某些程序路径”
执行此操作:启动“”某些程序路径
在Windows XP下适用。这是一个用于在使用批处理文件执行程序后关闭命令提示符的命令
而不是:启动“某些程序路径”
执行此操作:启动“”某些程序路径
在Windows XP下适用于我。我刚开始在这里工作,所以无法将@Franci Penov的答案视为正确:
rt.exec(new String[]{"cmd.exe","/C","build.bat"});
或者简单地说
rt.exec("cmd.exe /C build.bat");
不应显示命令提示符<代码>构建.bat将无头执行
假设您确实希望在运行
build.bat
时显示命令提示符(这样您就可以直接从命令提示符看到输出,而不是稍后再处理),并且希望在build.bat
完成执行后命令提示符消失,您可以使用以下方法:
rt.exec("cmd.exe /C start cmd.exe /C batch.bat");
start
启动一个(可见)命令提示符窗口,以处理和显示cmd.exe/C batch.bat的输出。如果在批处理.bat的末尾有一个暂停
,则只需按一下键,命令提示符就会消失,而无需在提示窗口中键入退出
这可能不是你需要的,但我一直在寻找,但后来自己找到了解决办法。只是想与大家分享。我刚从这里开始,所以不能将@Franci Penov的答案视为正确:
rt.exec(new String[]{"cmd.exe","/C","build.bat"});
或者简单地说
rt.exec("cmd.exe /C build.bat");
不应显示命令提示符<代码>构建.bat
将无头执行
假设您确实希望在运行
build.bat
时显示命令提示符(这样您就可以直接从命令提示符看到输出,而不是稍后再处理),并且希望在build.bat
完成执行后命令提示符消失,您可以使用以下方法:
rt.exec("cmd.exe /C start cmd.exe /C batch.bat");
start
启动一个(可见)命令提示符窗口,以处理和显示cmd.exe/C batch.bat的输出。如果在批处理.bat的末尾有一个暂停
,则只需按一下键,命令提示符就会消失,而无需在提示窗口中键入退出
这可能不是你需要的,但我一直在寻找,但后来自己找到了解决办法。只是想分享一下。我试过这个。使用此选项无法执行构建。嗯,很有趣。如果是这样的话,我怀疑你的bat文件有问题START
基本上会生成一个新的cmd.exe进程(该进程不会退出),而/C
会退出您生成的进程。您可以尝试向批处理文件中添加一些日志记录,看看它的进展情况。我尝试了这个。使用此选项无法执行构建。嗯,很有趣。如果是这样的话,我怀疑你的bat文件有问题START
基本上会生成一个新的cmd.exe进程(该进程不会退出),而/C
会退出您生成的进程。您可以尝试向批处理文件添加一些日志记录,并查看其进展情况。我尝试在bat文件末尾添加exit。没有帮助。如何在不使用“cmd”选项的情况下调用bat文件。?直接rt.exec(新字符串[]{“C:\\path\\build.bat”})代码>@JigarJoshi当java应用程序引发异常时,我的批处理文件不会关闭命令提示窗口。我在末尾添加了exit。我尝试在bat文件末尾添加exit。没有帮助。如何在不使用“cmd”选项的情况下调用bat文件。?直接rt.exec(新字符串[]{“C:\\path\\build.bat”})代码>@JigarJoshi当java应用程序引发异常时,我的批处理文件不会关闭命令提示窗口。我在末尾添加了exit。已经建议了。在发布之前阅读之前的答案和评论。已经建议。在发布之前,请阅读之前的答案和评论。欢迎使用Stack Overflow!你会考虑添加一些叙述来解释这个代码为什么工作,什么使它成为问题的答案?这对提出问题的人和其他任何人都非常有帮助。欢迎使用Stack Overflow!你会考虑添加一些叙述来解释这个代码为什么工作,什么使它成为问题的答案?这对提出问题的人和其他任何人都非常有帮助。非常感谢!!在打开20个标签和几个小时后,您的答案的第二部分就是我需要的解决方案!!非常感谢你!!非常感谢你!!在打开20个标签和几个小时后,您的答案的第二部分就是我需要的解决方案!!非常感谢你!!