1

我正在使用这个调用 build.bat 文件

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

此行打开命令提示符。构建成功,但窗口仍然打开。我该如何关闭它?尝试破坏进程和其他 System.ext 方法。没用

4

6 回答 6

2

你不应该start /MIN在你的论点中使用。你试过这个吗?

rt.exec(new String[]{"cmd.exe","/C","build.bat"});
于 2011-01-07T08:23:58.320 回答
1

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

于 2011-01-07T08:25:21.917 回答
1
writer.write("expdp greenbuds/greenbuds directory=backup dumpfile="+dd+".dump logfile="+dd+".log");
writer.newLine();
writer.write("Exit");
于 2013-06-07T05:46:06.737 回答
1

我刚从这里开始,所以不能赞成@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,但后来自己找到了解决方案。只是为了分享。

于 2015-05-29T03:13:45.860 回答
0

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

而不是:启动“一些程序路径”

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

在 Windows XP 下为我工作。

于 2013-11-26T14:25:14.743 回答
-1

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

于 2012-03-22T05:25:53.093 回答