批处理-延迟变量介绍.docVIP

  • 13
  • 0
  • 约1.05万字
  • 约 14页
  • 2016-12-30 发布于重庆
  • 举报
整理延迟变量扩展介绍补充 引用变量的值在批处理中习惯叫变量扩展。 使用一对百分号括起变量名(如:%VAR%)的形式表示变量扩展。 延迟引用变量的值叫延迟变量扩展。 使用一对感叹号括起变量名(如:!VAR!)的形式表示延迟变量扩展。 是指变量扩展这个动作被推迟。 有了变量扩展。为什么又多出一个延迟变量扩展呢? 先看下面程序片段1: set VAR=before if %VAR% == before ( set VAR=after echo %VAR% ) 运行结果是什么? 结果是:before 而正确逻辑结果应是:after 为什么会发生这样的事呢? 原来命令解释程序(cmd)在执行复合语句之前做了预处理,即读入复合语 句时做了变量扩展。对于程序片段1,命令解释程序读入if复合语句,接着 做VAR变量扩展,由于此时set VAR=after语句还没有执行,VAR变量的值 未被改变仍然是before,因此,%VAR%扩展为before ,echo %VAR%语句 变为echo before 。然后,命令解释程序从if语句的开头开始执行,很明显 改变VAR变量的值对echo before语句没有影响(因%VAR%已提前扩展为 before),执行结果是before 。 扩展后的程序片段1: set VAR=before if before == b

文档评论(0)

1亿VIP精品文档

相关文档