窗口批量设置里面如果不工作
当我运行这个脚本(从一个.bat文件):
set var1=true if "%var1%"=="true" ( set var2=myvalue echo %var2% )
我总是得到:
ECHO is on.
这意味着var2
variables没有真正设置。 任何人都可以请帮我理解为什么?
var2被设置,但是行的echo %var2%
在块被执行之前发生。
这时var2
是空的。
因此,delayedExpansion语法存在,它使用!
而不是%
并在执行时评估,而不是parsing时间。
setlocal EnableDelayedExpansion set var1=true if "%var1%"=="true" ( set var2=myvalue echo !var2! )