中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-10 01:48
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 使用FOR命令时的问题 查看 857 回复 5
楼 主 使用FOR命令时的问题 发表于 2007-10-31 20:39 ·  中国 上海 静安区 中移铁通
初级用户
积分 48
发帖 23
注册 2007-10-24 09:46
18年会员
UID 100622
性别 男
状态 离线
如果3.txt文件的格式如下:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
如果用for /f "tokens=1-30 delims=," %a in (3.txt) do echo %a,%z
则是1,
那么for /f "tokens=1-30 delims=," %1 in (3.txt) do echo %1,%30
看到的是1,30
第一个命令的%Z 没被赋值 那第2个命令的%30也应该没有值的啊
请问第2个命令显示的30是从哪来的?
2 发表于 2007-11-01 09:20 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
请问第2个命令显示的30是从哪来的?


for /f "tokens=1-30 delims=," %1 in (3.txt) do echo %1,%30

红色部分可以分解成 %3 / 0 两个部分,而%3的值是3,所以结合起来就显示了30了。
3 发表于 2007-11-03 17:40 ·  中国 上海 静安区 中移铁通
初级用户
积分 48
发帖 23
注册 2007-10-24 09:46
18年会员
UID 100622
性别 男
状态 离线
原来如此 那就不能定义>26个的变量吗?
4 发表于 2007-11-03 23:47 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by z310394543 at 2007-11-3 17:40:
原来如此 那就不能定义>26个的变量吗?

可以,按ASCII码表的顺序可以定义更多的变量。

for /f "tokens=1-30" %A in (tm.txt) do @echo %A %Z--% 
5 发表于 2008-10-09 22:00 ·  中国 广东 东莞 电信
初级用户
积分 61
发帖 39
注册 2007-03-22 16:49
19年会员
UID 82575
性别 男
来自 come from hb--wh
状态 离线
版主,可以解释一下 for /f "tokens=1-30" %A in (tm.txt) do @echo %A %Z--%[ %] 是什么意思吗``谢谢``
6 发表于 2008-10-09 22:02 ·  中国 广东 东莞 电信
初级用户
积分 61
发帖 39
注册 2007-03-22 16:49
19年会员
UID 82575
性别 男
来自 come from hb--wh
状态 离线
%A %Z--%[ %] 后面的这段。。。Thanks.
论坛跳转: