Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java执行批处理文件后无法关闭命令提示符_Java_Batch File_Execute - Fatal编程技术网

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

使用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

我正在使用以下命令调用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/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个标签和几个小时后,您的答案的第二部分就是我需要的解决方案!!非常感谢你!!