当我运行此脚本(从.bat文件)时:set var1=trueif "%var1%"=="true" ( set var2=myvalue echo %var2%)我总是得到:ECHO is on.表示该var2变量未真正设置。谁能帮我了解原因?
2 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
我参加聚会有点晚了,但是应对这种情况的另一种方法是继续在外面进行程序if,像这样
set var1=true
if "%var1%"=="true" (
set var2=myvalue
)
echo %var2%
或/和使用goto语法
set var1=true
if "%var1%"=="true" (
set var2=myvalue
goto line10
) else (
goto line20
)
. . . . .
:line10
echo %var2%
. . . . .
:line20
这种扩展“及时”发生,您不需要setlocal EnableDelayedExpansion。最重要的是,如果您重新考虑脚本的设计,则可以这样做
- 2 回答
- 0 关注
- 855 浏览
添加回答
举报
0/150
提交
取消