中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-19 05:06
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » call 语句问题 查看 843 回复 3
楼 主 call 语句问题 发表于 2007-11-16 08:32 ·  中国 江苏 苏州 电信
新手上路
积分 14
发帖 5
注册 2007-10-30 18:04
18年会员
UID 101206
性别 男
状态 离线
@echo off
set disk=cdefghijklmnopqrstuvwxyz
For /l %%i IN (0,1,23) Do call echo%%disk:~%%i,1%%
pause
上面程序是显示C~Z 可是Call 后面的语句为什么多加了一对%呢?
最外面的一对,望高手能点拨一下:(
2 发表于 2007-11-16 08:59 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
这里的双%%作用是前面一个%传递给后面一个是符号%的标记
举例:


@echo off
set a=xxx
echo %a%
echo %%a%%
第一高手 第二高手

3 发表于 2007-11-26 10:26 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
是这样理解
4 发表于 2008-03-16 18:01 ·  中国 广东 汕头 电信
初级用户
积分 53
发帖 20
注册 2007-06-08 18:31
19年会员
UID 90697
性别 男
状态 离线
fastslz前辈
如果说是符号,那显示结果不会变成
%disk:~0,1% %disk:~0,1% %disk:~1,1% %disk:~2,1% ……了吗?
论坛跳转: