Board logo

标题: [文本处理] 切换目录执行其他bat后无法关闭本窗口是咋回事呢? [打印本页]

作者: 小白来了    时间: 2024-4-7 23:56     标题: 切换目录执行其他bat后无法关闭本窗口是咋回事呢?

用当前bat切换目录执行其他bat后,想自动关闭当前cmd窗口,不自动关闭,应怎样关闭呢?
exit退不了,goto:关不了,不知道咋自动退出本窗口,

示例:
cd /d "D:\文本文件"
start /b "" "D:\文本文件\分类A.bat"
echo 自动关闭!
exit

会显示"自动关闭!"
但是没有关,并没有执行后面的exit
作者: 77七    时间: 2024-4-8 00:20

如果逐行执行,可以试试用call
分类A.bat结尾exit /b
主bat call "D:\文本文件\分类A.bat"
作者: Five66    时间: 2024-4-8 00:38

不是没有关
而是你执行的其他bat没有关
作者: 小白来了    时间: 2024-4-8 00:42

回复 3# Five66


    打开其他bat后,关闭现在的窗口怎么关闭啊?其他bat运行结果都关了之后,现在的窗口还在呢~
作者: Five66    时间: 2024-4-8 00:57

回复 4# 小白来了


    start /b要分别退出的 , 当然是其他bat的末尾也要加上 exit
作者: 小白来了    时间: 2024-4-8 01:03

回复 5# Five66


start /b "" "D:\文本文件\分类A.bat"
start /b "" "D:\文本文件\分类2.bat"
start /b "" "D:\文本文件\分类3.bat"
当前脚本加上
exit

其他bat最后也加上exit对吗?
作者: Five66    时间: 2024-4-8 01:44

本帖最后由 Five66 于 2024-4-8 01:51 编辑

回复 6# 小白来了


是的 , 但是最后是指流程的最后 , 也就是完毕之后 , 执行后会导致整个bat完毕的那些行后面 , 都要加上
这挺麻烦的 , 而且抽象(莫名奇妙) , 建议不要用start, 稳点的就用call , 支持多开就 cmd /c
作者: Batcher    时间: 2024-4-8 07:56

回复 1# 小白来了


把 /b 删掉
把 exit 删掉
作者: aloha20200628    时间: 2024-4-8 10:53

本帖最后由 aloha20200628 于 2024-4-8 11:10 编辑

回复 1# 小白来了

在当前cmd窗口中非要用start启运另一个批处理文件并同时关闭当前cmd窗口,须将一楼代码第2行改用下式方可
  1. start "" cmd /c "D:\文本文件\分类A.bat"
复制代码
要点说明》一楼代码用参数 /b,则 start 不会开启新窗口即沿用当前窗口启运批处理文件;而不用 cmd /c 参数,则 start 会默认采用 cmd /k 启运批处理文件,即运行完毕后会保留当前窗口。





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2