更新时间:2022-04-09 09:35
ENDLOCAL
如果命令扩展名被启用,ENDLOCAL 会如下改变:
如果相应的 SETLOCAL 用新的 ENABLEEXTENSIONS 或
DISABLEEXTENSIONS 选项启用或停用了命令扩展名,那么,在
ENDLOCAL 之后,命令扩展名的启用/停用状态会还原到执行
相应的 SETLOCAL 命令前的状态。
在SetLocal之后调用
setlocal 会开辟一个临时变量存储空间,setlocal后所有的变量赋值、修改都是临时的,遇到endlocal则还原到setlocal之前的状态。有点类似于全局变量与局部变量的关系。
比如:
@echo off
set a=1
setlocal
set /a a+=1
echo %a%
endlocal
echo %a%
pause
以上批处理会输出
2
1