猿问

Windows批处理设置如果IF不起作用

当我运行此脚本(从.bat文件)时:


set var1=true

if "%var1%"=="true" (

  set var2=myvalue

  echo %var2%

)

我总是得到:


ECHO is on.

表示该var2变量未真正设置。谁能帮我了解原因?


不负相思意
浏览 866回答 2
2回答

一只萌萌小番薯

我参加聚会有点晚了,但是应对这种情况的另一种方法是继续在外面进行程序if,像这样set var1=trueif "%var1%"=="true" (    set var2=myvalue)echo %var2%或/和使用goto语法set var1=trueif "%var1%"=="true" (    set var2=myvalue    goto line10) else (    goto line20). . . . .:line10echo %var2%. . . . . :line20这种扩展“及时”发生,您不需要setlocal EnableDelayedExpansion。最重要的是,如果您重新考虑脚本的设计,则可以这样做
随时随地看视频慕课网APP
我要回答