中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [已结]for 命令中的token 上一主题 | 下一主题
iamqiuhui
初级用户





积分 28
发帖 17
注册 2008-12-20
状态 离线
『楼 主』:  [已结]for 命令中的token

for命令很关键:
其中的token就是看不懂,那位高手可以举个简单的例子,详细说一下,先谢了。
这是CMD的解释,一点看不懂:
tokens=x,y,m-n  - 指每行的哪一个符号被传递到每个迭代
                          的 for 本身。这会导致额外变量名称的分配。m-n
                          格式为一个范围。通过 nth 符号指定 mth。如果
                          符号字符串中的最后一个字符星号,
                          那么额外的变量将在最后一个符号解析之后
                          分配并接受行的保留文本。

[ Last edited by HAT on 2009-1-17 at 21:09 ]

2009-1-15 21:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 2 楼』:  

test.txt


  Quote:
姓名      学号      成绩
李四      0203     90
王五      0204     88




@echo off
for /f "tokens=1,2,3" %%a in (test.txt) do (
echo 第一列-姓名:    %%a
echo 第二列-学号:    %%b
echo 第三列-成绩:    %%c
)
pause


明白了? :)

   此帖被 +5 点积分      点击查看详情   
评分人:【 moniuming 分数: +5  时间:2009-1-15 22:17


2009-1-15 21:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 3 楼』:  

常见有以下几种,指定单个变量,指定范围,以及两者的组合。
@echo off
for /f "tokens=1,2,4" %%a in ("A B C D E F G H I") do echo %%a-%%b-%%c-%%d
for /f "tokens=1-4" %%a in ("A B C D E F G H I") do echo %%a-%%b-%%c-%%d
for /f "tokens=3,5,6*" %%a in ("A B C D E F G H I") do echo %%a-%%b-%%c-%%d
pause
结果就是:
A-B-D-%d
A-B-C-D
C-E-F-G H I
请按任意键继续. . .

[ Last edited by exzzz on 2009-1-15 at 22:41 ]

2009-1-15 22:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
iamqiuhui
初级用户





积分 28
发帖 17
注册 2008-12-20
状态 离线
『第 4 楼』:  token

你们的例子很精辟,
咱明白了,呵
谢谢你们

2009-1-17 20:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: