转自http://zhidao.baidu.com/question/91649946.html?fr=qrl&cid=89&index=4&fr2=query
求批处理解释setlocal
第一行 @echo off
第二行 setlocal
第三行 path=d:/
第四行 echo 局部环境变量path值
第五行 set path
第六行 end local
第七行 echo 系统环境变量path的值
第八行 set path
求高手帮我解释下这个批处理,以及setlocal命令
谢谢
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这个批处理是个示例。
主要说明setlocal/endlocal命令的作用。setlocal和endlocal命令执行结果是让中间的程序对于系统变量的改变只在程序内起作用,不会影响整个系统级别。
比如这个例子中,在第二行setlocal之后,第三行对于变量path进行了赋值,第四行就是显示一下该值。在第六行endlocal后(此行,应该没有空格),重新显示一下系统变量path(第七行),会发现仍然是程序运行之前的path值,没有被程序改变。