中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 21:03
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [分享]从英雄教材中关于call与%的理解?
可打印版本  773 / 1
第1楼 tempuser 发表于 2008-12-11 19:26
高级用户 发帖 261 积分 547
[分享]从英雄教材中关于call与%的理解?
感谢英雄!把自己的学习体会和大家一起分享!

@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楼 HAT 发表于 2008-12-11 19:33
版主 发帖 5,017 积分 9,023
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023