繁体   English   中英

使用java执行批处理文件后无法关闭命令提示符

[英]Unable to close the command prompt after executing a batch file using java

我正在使用它调用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"});
writer.write("expdp greenbuds/greenbuds directory=backup dumpfile="+dd+".dump logfile="+dd+".log");
writer.newLine();
writer.write("Exit");

我刚刚开始在这里,所以无法upvote @Franci Penov的答案是正确的:

rt.exec(new String[]{"cmd.exe","/C","build.bat"}); 

或简单地说,

rt.exec("cmd.exe /C build.bat");

不应该提出命令提示。 build.bat将无头执行。


假设您确实希望在build.bat运行时调出命令提示符(这样您可以直接从命令提示符查看输出而不是稍后处理它),并且希望命令提示符在build.bat完成执行后消失,您可以使用以下内容:

rt.exec("cmd.exe /C start cmd.exe /C batch.bat");

start启动(可见)命令提示符窗口,以处理和显示cmd.exe /C batch.bat的输出。 如果你在batch.bat的末尾有一个pause ,那么你需要做的就是按一个键,命令提示符就会消失而不需要在提示窗口键入exit来关闭它。

这可能不是你需要的,但我一直在搜索SO,但后来我自己找到了解决方案。 只是分享它。

在bat文件末尾添加exit ,也无需提前添加cmd即可直接执行bat

这是我在StackOverflow上找到修复程序 ,用于在使用批处理文件执行程序后关闭命令提示符。

而不是:开始“一些程序路径”

这样做:开始“”“一些程序路径”

适用于Windows XP。

只需使用新行更新批处理(.bat)文件并输入该新行: exit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM