我需要运行两个批处理文件。在这两个bat文件中调用两个不同的java文件。
Java文件:J1.jar,J2.jar并包装在J1.bat(xxx / java -jar J1.jar)和J2.bat中 Bath文件:batch1.bat,batch2.bat 可执行程序:p1.exe,p2.exe,p3.exe,p4.exe
J1将打开一个命令提示符(cmd提示符窗口#1)并触发batch2.bat(cmd提示符窗口#2),在完成batch2之后,J1将执行其他一些操作然后退出。因此我绝对需要cmd提示窗口#2关闭并返回到cmd提示窗口#1,这样J1就可以完成它必须做的事情。
现在,在batch2.bat完成后,窗口停留,显然它不会将控制权返回到cmd提示窗口#1。
以下是两个批处理文件
batch1.bat
call J1 batch2.bat
exit
batch2.bat
call J2 p1 p1_args
start /b J2 p2 p2_args
start /b J2 p3 p3_args
call J2 p4 p4_args
exit
我尝试过以下操作,但没有一个会关闭cmd提示符窗口#2
我还尝试将这两个p2和p3放在一个单独的bat文件中,并从batch2.bat调用该bat文件,但该命令提示符窗口仍然不会关闭。
有没有办法关闭第二个命令提示符窗口?我听说使用自动热键来做窗口脚本,这是一个解决方案和更好的窗口脚本编写方法吗?
我非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
观察之后,我注意到在cmd“退出”之后,它将不会返回到提示符,我将不得不按Enter键以使事情继续进行。我决定在退出后放一条新线,它有效。我用以下代码行换出了退出。
@echo off
set NLM=^
set NL=^^^%NLM%%NLM%^%NLM%%NLM%
exit %NL%