一般你使用到setlocal 或 endlocal 的情况是:
1、变量延迟开关
setlocal enabledelayedexpansion
开启变量延迟
setlocal disabledelayedexpansion
关闭变量延迟
2、变量本地化
如:- set v=123
- echo %v%
- pause
- setlocal
- set v=abc
- echo %v%
- pause
- endlocal
- echo %v%
复制代码 比较下同一个变量在三个情况下的结果。
setlocal和endlocal相当于一个存储临时变量的灌,类似于pushd和popd、echo off 和echo on |