Board logo

标题: [文本处理] 批处理命令CALL配合双百分号%%,变量延迟如何理解? [打印本页]

作者: shengjie122    时间: 2014-9-13 12:44     标题: 批处理命令CALL配合双百分号%%,变量延迟如何理解?

各位高手好,本人最近对变量延迟比较感兴趣,setlocal原理已明白,就是用CALL命令当延迟变量用时还是有很多不懂,请各位高手帮忙解释。最好能给例题,谢谢。
作者: zx511325    时间: 2014-9-14 10:46

假设echo后有一个变量a,a两边的百分号有很多,并且两边的百分号数量一样,比如:
echo %%%%.....%%%a%%%...%%%
cmd.exe对其的处理如下:
假如两边的百分号都是偶数个,则各去掉一半的百分号
假如两边的百分号都是奇数个,则各去掉一般+1个百分号,并且将变量a替换成变量a的值
如echo 前有一个call 则再执行一次这个过程
以此类推
作者: bailong360    时间: 2014-9-14 12:44

Call命令实现的不是变量延迟,而是变量嵌套吧.
看来你没有理解......




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