Windows批处理中集如果不工作
问题描述:
当我运行此脚本(从.bat文件):Windows批处理中集如果不工作
set var1=true
if "%var1%"=="true" (
set var2=myvalue
echo %var2%
)
我总是得到:
含义var2
变量是不是真的组。 任何人都可以请帮我理解为什么?
答
设置了var2,但行echo %var2%
的扩展发生在块执行之前。
目前var2
为空。
因此,存在delayedExpansion语法,它使用!
而不是%
,它在执行时评估,而不是解析时间。
setlocal EnableDelayedExpansion
set var1=true
if "%var1%"=="true" (
set var2=myvalue
echo !var2!
)
谢谢你只是幸免我一个巨大的痛苦。 – Myna 2013-03-15 21:32:14
Friggin的批处理脚本! – 2016-07-20 00:46:46
muito obrigado“” – durtto 2017-10-25 19:49:09