中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 22:00
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [分享]从英雄教材中关于call与%的理解? 查看 774 回复 1
楼 主 [分享]从英雄教材中关于call与%的理解? 发表于 2008-12-11 19:26 ·  中国 黑龙江 大庆 大庆中基石油通信建设有限公司
高级用户
★★
积分 547
发帖 261
注册 2006-04-15 16:50
20年会员
UID 53887
状态 离线
感谢英雄!把自己的学习体会和大家一起分享!

@echo off
Set a=b
echo %%%a%%%
pause
Rem 一侧的%是奇数,先把最里面的%a%置换成变量的值b,剩下的是偶数%在成对的脱,即%减半
rem 执行结果是%b%
echo %%%%a%%%%
pause
rem 一侧是偶数,从前往后一对对脱,执行结果是%%a%%
call echo %%%a%%%
pause
rem 一侧是奇数,最里面置换成变量的值b,剩下的偶数%在成对脱,变成%b%
rem 因call在脱第1次%, 但现在只有1对%,理解变成b,但实际会出现ECHO处于关闭状态的错误
call echo %%%%%a%%%%%
pause
rem echo第1次脱%后,变成%%b%%
rem call第2次脱%后,变成%b%
call echo %%%%%%a%%%%%%
pause
rem echo第1次脱%后,变成%%%a%%%
rem call第2次脱%后,变成%b%
2 发表于 2008-12-11 19:33 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
论坛跳转: