在资料中看到:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "%VAR%" == "after" @echo If you see this, it worked
)
为什么句子中的set VAR=after会无效呢?
这样的语法在复合语句中是无效的吗?作者: dikex 时间: 2007-1-6 11:13 如没有开启延迟环境变量扩充,当执行上面的if命令时,会首先将if语句里面的"%VAR%全部替换为before,由于复合语句只算一个语句,所以括号里面的也会被替换,那么执行if语句时它就变为了下面的形式再执行
if before" == "before" (
set VAR=after
if "before" == "after" @echo If you see this, it worked
)