为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

不负相思意 2019-11-28 13:54:26
当我运行此脚本(从.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。最重要的是,如果您重新考虑脚本的设计,则可以这样做


查看完整回答
反对 回复 2019-11-28
  • 2 回答
  • 0 关注
  • 855 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信