bat goto 流程结束后如何继续

goto a

:a
.....
.....
goto :eof

cd %code_path%
if exist resource rd /s /q resource
if exist product rd /s /q product

如上。a流程结束后,后面的命令没有继续,如何解决?

在a流程里面最后一行goto:x (随便起名,前面不要有任何goto:eof或者exit之类的)然后到你想要执行的前一行 :x
和a流程并列的子流程后面都goto到x,相当于分支之后各种情况汇总,就直接继续执行下面的代码。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-18
想继续,把
goto :eof
删除即可。追问

不行,如果a流程后面还有b流程呢?

追答

那你要的效果是 什么呢?
a流程结束后,你想运行那些命令就goto到哪去。

第2个回答  2018-05-18
常见的批处理命令如下:
rem
用来在批处理文件中加入注释,其格式如下所示:
rem [command string]
rem后面也可以为空,主要是为了在后面生成空行
echo
用来控制命令是否在命令提示符窗口进行回显,也可以用于显示当前的字符串
echo [{on|off] [message]
其中,on和off用来说明是否将下面要执行的命令输出结果显示在命令提示符窗口中,但是在执行echo off命令时,这条命令会本身显示在命令提示符窗口上,如果要禁止其显示,应该在前面增加@;命令格式为:@echo off
可以利用这个来输入版权信息,例如下面程序段
@echo off
echo System Shutdown Version 2005
echo Copyright for "Fu's Studio" 2005-2050
echo All rights reserved!The copyright are protected by international laws!
pause

pause命令
可以用来暂停批处理文件的执行,该命令没有参数。当程序执行到这个命令时,就会自动暂停,并显示“请按任意键结束”字样,给用户一次放弃操作的机会, 当用户按下Ctrl+C,系统就会显示“终止批处理操作吗(Y/N)字样。

call命令
可以在一个批处理程序中调用令一个批处理程序,而不终止父批处理程序。
call [[drive:] [path] filename [batch parameters]]
filename 应该带有.bat或者.cmd扩展名
batch parameters是执行批处理文件时所带的批处理参数,被执行这个批处理文件时使用。
如果call命令调用自身,就构成了自身的循环调用。在这种情况下,一般应该提供程序推出条件
注意,如果激活了命令扩展特性,(可以在执行cmd.exe时候,使用/e:on参数来激活)。则call命令还可以使用如下形式:
call [:label [argument]]
当在该标签后继续执行时,如果遇到该批处理程序的末尾,程序控制权将交给call语句后面的语句。当第二次遇到该批处理文件的末尾时,程序将推出执行。
注意,利用goto命令也可以完成程序流程的跳转,但是call命令于goto命令的区别在于,call命令是一个可以返回的命令,而goto命令是一个“一去不回头”的命令;本回答被网友采纳
相似回答