setlocal enabledelayedexpansion 理解
2013-01-25 10:07
603 查看
@echo off set ss=abc echo %ss% setlocal enabledelayedexpansion set ss=ppp echo %ss% endlocal echo %ss% setlocal enabledelayedexpansion echo !ss! endlocal pause被
setlocal enabledelayedexpansion
endlocal
引起来的部分里所定义的变量相当于局部变量,而在他外面定义则可以理解为全局变量。
在第一个
setlocal enabledelayedexpansionset ss=ppp echo %ss% endlocal
里面对SS进行了重新定义,因此在这个局部环境中,局部变量ss替代了全局变量ss,所以这个地方的echo输出为ppp
而紧接着的
echo %ss%
已经在endlocal外面了,因此他感受不到局部变量ss,只能感受到全局变量ss,因此输出仍然为abc
而在第二个
setlocal enabledelayedexpansion echo !ss! endlocal
中,并没有对ss进行重新定义,因为它就从全局变量中取值。局部环境中可以感受全局变量的值,而全局环境中并不能感受局部环境中的变量的值。与C语言是类似的。
相关文章推荐
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- @echo off&setlocal enabledelayedexpansion
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- Bat setlocal enabledelayedexpansion
- 批处理中setlocal enabledelayedexpansion的含义
- 批处理中setlocal enabledelayedexpansion
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- (批处理之二):setlocal enabledelayedexpansion (详解)
- setlocal enabledelayedexpansion
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- setlocal enabledelayedexpansion
- 批处理中setlocal enabledelayedexpansion的作用详细整理 详细出处参考:http://www.jb51.net/article/29323.htm
- 延迟环境变量扩展 setlocal enabledelayedexpansion的作用
- setlocal enabledelayedexpansion…
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- 由batch 命令setlocal enabledelayedexpansion引发的
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- 批处理中setlocal enabledelayedexpansion的含义 【转载】