Goto :EOF 执行2遍 ////////////Call语句与Goto语句区别

1.情况一:

@echo off
call :testgoto
:testgoto
echo 1
goto :eof
echo 2
pause

输出结果:

C:\Users\Gan>D:\批处理资料\test.bat
1
1

2.情况二:

@echo off
call :testgoto
echo 2
goto :eof
:testgoto
echo 1
goto :eof

输出结果:

C:\Users\Gan>D:\批处理资料\test.bat
1
2


3.情况三:

@echo off
goto :testgoto
echo 2
goto :eof
:testgoto
echo 1
goto :eof

输出结果:

1

由上面的情况可以看出:

1.goto过去,执行完goto的语句,不会再跳转回来;

2.Call过去,再加上goto:eof,会跳转回执行call语句的地方继续执行下面的语句;

3.使用Call语句时需要注意,执行完跳转的语句之后,记得加上goto,不然将执行2遍跳转语句,具体情况一,输出2个1


你可能感兴趣的:(Goto :EOF 执行2遍 ////////////Call语句与Goto语句区别)