有阴也有阳 发表于 2018-1-8 15:43:48

一条批处理命令执行完后其下面的一条批处理命令不能执行

本帖最后由 有阴也有阳 于 2018-1-8 17:18 编辑

         一条批处理命令执行完后其下面的一条批处理命令不能执行,就到此为止,完了。

      下面的红色的这一条命令执行完后,后面紧接着的命令不能得到执行,就此为止:

@if not exist "%programw6432%" (call 运行U盘里32位的DG分区.bat) else call 运行U盘里64位的DG分区.bat
pecmd wait 18000
start "" ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
exit

      要命的是以前在PE中经过多次校验,都能正常执行——在打开DG分区后,延时18秒,再打开“计算机”窗口,不知道

是什么原因现在变成了这个样子,请高手指点,谢谢!!!

      问题已解决,我自己画蛇添足,在“运行U盘里32位的DG分区.bat”与“ 运行U盘里64位的DG分区.bat”的最后各添加了一个“exit”命令,

导致DG分区一打开,CMD就自动关闭退出,这样其后面的命令自然不能够得到执行了,小白,嘛都不懂,惭愧!!!



永远的大象 发表于 2018-1-8 22:31:55

按你说的,你后面加了exit,那么我给你提供几个解决方法,虽然你已经解决。。。

方法一:去掉 exit,让其自动运行结束返回

方法二:将 exit 换成 exit /b ,返回CALL前面

方法三:调用批处理的 CALL 替换成 start "" XX.bat

有阴也有阳 发表于 2018-1-9 08:49:15

永远的大象 发表于 2018-1-8 22:31
按你说的,你后面加了exit,那么我给你提供几个解决方法,虽然你已经解决。。。

方法一:去掉 exit,让 ...

谢谢指点,将添加的exit去掉就正常了,谢谢!!!

永远的大象 发表于 2018-1-9 22:11:42

有阴也有阳 发表于 2018-1-9 08:49
谢谢指点,将添加的exit去掉就正常了,谢谢!!!

某些情况下,批处理运行的终止点不是在最后面,这时候,如果要返回前面的批处理,就可以用 exit /b,如果是在最后面结束批处理,那可以不用 exit 或者 exit /b 来退出

有阴也有阳 发表于 2018-1-10 08:47:56

永远的大象 发表于 2018-1-9 22:11
某些情况下,批处理运行的终止点不是在最后面,这时候,如果要返回前面的批处理,就可以用 exit /b,如果 ...

谢谢!!!

2897755067 发表于 2018-1-10 14:25:15

原來要去掉 exit ,現在才學到。
页: [1]
查看完整版本: 一条批处理命令执行完后其下面的一条批处理命令不能执行