中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]for /f 在文件中取值错误问题
作者:
标题: [原创]for /f 在文件中取值错误问题 上一主题 | 下一主题
lukchen
初级用户





积分 48
发帖 17
注册 2007-4-19
状态 离线
『楼 主』:  [原创]for /f 在文件中取值错误问题

uid        name        mobile        position        college        age        gender        memo
Hunter        李明        13500000000                        22        0        20
Dong        王东        13500000001                        40        0        20
DZH        邓辉平        13500000002                        45        0        20
Xing        周星星        13500000003                        25        0        20

如我在excel里编辑的用户信息,共8列,我现在想用for /f命令取任意一列,但是取值会出错。如下示,我想取年龄(age),可是却是空的,这列数据跑到position上去了。

for /f "tokens=1,2,3,4,5,6,7,8 delims=        " %%a in (book.txt) do echo %%f

我试了一下发现因为前边几个数据是空的,所以会出错,把数据都填上就正常了,可是公司数据太多,没办法全部填写。所以请大家帮忙。

2008-3-29 19:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 2 楼』:  

如果在excel中的话,建议用VBA比较方便,快捷

2008-3-29 21:46
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
balinger
中级用户




积分 356
发帖 115
注册 2004-7-27
状态 离线
『第 3 楼』:  

打开book.txt。
复制uid        name之间的空格。
菜单---编辑----替换。
查找内容:粘贴两次。替换为:粘贴一次,输入*,再粘贴一次。
按两次全部替换。
数据是空的地方,就会有*。
for /f "tokens=1,2,3,4,5,6,7,8" %%a in (book.txt) do echo %%f

2008-3-29 22:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lukchen
初级用户





积分 48
发帖 17
注册 2007-4-19
状态 离线
『第 4 楼』:  

3楼的朋友,你的这种方法不可以的,在excel里导出的时候,就少部分tab符号了。
我再想想从excel里出来的时候,想想办法.

2008-3-31 11:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: