setlocal和endlocal命令执行结果是让中间的程序对于系统变量的改变只在程序内起作用,不会影响整个系统级别。
例如
@echo off
setlocal
path=d:\
echo 局部环境变量path值
set path
endlocal
echo 系统环境变量path的值
set path
如上例,在第二行setlocal之后,第三行对于变量path进行了赋值,第四行就是显示一下该值。在第六行endlocal后,重新显示一下系统变量path(第七行),会发现仍然是程序运行之前的path值,没有被程序改变。