我正在使用这个调用 build.bat 文件
rt.exec(new String[]{"cmd.exe","/C","start", "/MIN","build.bat"});
此行打开命令提示符。构建成功,但窗口仍然打开。我该如何关闭它?尝试破坏进程和其他 System.ext 方法。没用
我正在使用这个调用 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"});
在bat文件末尾添加exit
,也无需cmd
提前添加,直接执行bat即可
writer.write("expdp greenbuds/greenbuds directory=backup dumpfile="+dd+".dump logfile="+dd+".log");
writer.newLine();
writer.write("Exit");
我刚从这里开始,所以不能赞成@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
. 如果你pause
的末尾有一个,batch.bat
那么你需要做的就是按下一个键,命令提示符就会消失,而无需exit
在提示窗口中键入来关闭它。
这可能不是您需要的,但我一直在搜索 SO,但后来自己找到了解决方案。只是为了分享。
这是我在 StackOverflow 上找到的一个修复程序,用于在使用批处理文件执行程序后关闭命令提示符。
而不是:启动“一些程序路径”
这样做:开始“”“一些程序路径”
在 Windows XP 下为我工作。
只需使用新行更新您的批处理 (.bat) 文件并输入该新行 : exit
。