Board logo

标题: [其他] 批处理变量嵌套的疑问 [打印本页]

作者: li495388759    时间: 2021-4-24 23:41     标题: 批处理变量嵌套的疑问

本人批处理半桶水,请教各位大神
@echo off
set a=1
set b=a
call echo %%%b%%%         这句的运行结果是1
if call echo %%%b%%%==1 echo yes     这句会出错


请问怎么写才正确呢?
作者: newswan    时间: 2021-4-25 00:26

call 不能用在其他语句中
  1. setlocal ENABLEDELAYEDEXPANSION
  2. if !%b%!==1
复制代码

作者: qixiaobin0715    时间: 2021-4-25 08:57

  1. set a=1
  2. set b=a
  3. call set c=%%%b%%%
  4. if %c%==1 echo yes
复制代码
回复 1# li495388759
作者: qixiaobin0715    时间: 2021-4-25 09:16

回复 2# newswan
call可以用在其它语句中,只是楼主的用法有问题:
  1. @echo off
  2. set a=1
  3. set b=a
  4. call set c=%%%b%%%
  5. if %c%==1 call echo %%%b%%%
  6. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2