中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-25 22:39
47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行
DOS批处理 & 脚本技术(批处理室) » 把CSV文件转成想要的格式
可打印版本  2,075 / 12
第1楼 zouzhxi 发表于 2007-04-03 07:21
中级用户 发帖 177 积分 430 来自 广东深圳
把CSV文件转成想要的格式
请看
http://www.cn-dos.net/forum/viewthread.php?tid=25112&fpage=0&highlight=&page=10

能不能写一个P,把CSV文件转成TEL.DB的格式呀....

CSV格式如下:
姓名,手机号码1,手机号码2,住宅电话,办公室电话,传真,电子邮件,家庭地址,录入时间
zouzhxi,1234567890123,1234567890124,12345678,12345679,12345678,zouzhxi@163.com,深圳大学,2007-04-02


如果没有的话,就留空.:
姓名,手机号码1,,,办公室电话,,电子邮件,家庭地址,录入时间
zouzhxi,1234567890123,,,12345679,,zouzhxi@163.com,深圳大学,2007-04-02


TEL.DB格式如下:
::电话本数据库
--------------------------------------------------

zouzhxi:1234567890123::
姓名:   
手机号码 1:
手机号码 2:
住宅电话: 
办公室电话:
传真:   
电子邮件: [zouzhxi@163.com]
家庭地址: 
录入日期: 
-End-


第2楼 flyinspace 发表于 2007-04-03 07:38
银牌会员 发帖 517 积分 1,206
可以写的。你可以自己试着写一下。。。
第3楼 zouzhxi 发表于 2007-04-03 08:01
中级用户 发帖 177 积分 430 来自 广东深圳
就是在处理“,”出错了。。。没弄出来。。。如果是完整的就可以。。。可是里边要是有空位的话,就出错了。。。郁闷ing...
第4楼 vkill 发表于 2007-04-03 10:12
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
先每两行为单位,call ,后替换,,为,空, 这样就可以for /f 来 set 了,然后set/p 就ok了
第5楼 estar 发表于 2007-04-03 10:28
中级用户 发帖 103 积分 346
你那个 CSV 有没有出现空格、引号等特殊字符之类的情况?如果没有的话正则一句就搞定了
第6楼 vkill 发表于 2007-04-03 11:04
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
剩下的你自己修改下应该可以的

第7楼 lxmxn 发表于 2007-04-03 13:35
版主 发帖 4,938 积分 11,386
替namejm兄发的一个回贴
第8楼 flyinspace 发表于 2007-04-03 15:10
银牌会员 发帖 517 积分 1,206
因为 for 语句里面对空格也做为分割行。

所以。我一般在这种情况下会采用其他的方案执行。。
第9楼 zouzhxi 发表于 2007-04-03 21:54
中级用户 发帖 177 积分 430 来自 广东深圳
Re:6F
你的P处理,基本能成功,,但是如果有很多的话,,,用PAUSE就觉得很麻烦了...如果我去掉的话,,,,会在最后一个结果做死循环......能不能改进一下....

Re:7F
你的不行...第一个联系人的资料会和第二个联系的资料连在一起,,,而第二个也和第三个连在一起....



还有就是我想问一下,就是怎么知道这个CSV文件里边有多少行记录....

[ Last edited by zouzhxi on 2007-4-3 at 10:31 PM ]
第10楼 zouzhxi 发表于 2007-04-04 03:13
中级用户 发帖 177 积分 430 来自 广东深圳
没人回答????
第11楼 digger 发表于 2007-04-04 06:52
初级用户 发帖 29 积分 79 来自 湖南
7F的代码能处理顶楼的文本内容啊。如果不能处理你的文件,那就是你的文件内容格式比较复杂,和顶楼的例子有出入,最好的办法是把你的文件发出来让大家看看。
第12楼 vkill 发表于 2007-04-04 08:18
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
Originally posted by zouzhxi at 2007-4-3 21:54:
Re:6F
你的P处理,基本能成功,,但是如果有很多的话,,,用PAUSE就觉得很麻烦了...如果我去掉的话,,,,会在最后一个结果做死循环......能不能改进一下....

R ...

倒,给你的已经很详细了啊~你自己修改下不就可以了
加2一句 if "%~1"=="" exit/b 就好了

[ Last edited by vkill on 2007-4-4 at 08:19 AM ]
第13楼 digger 发表于 2007-04-04 08:42
初级用户 发帖 29 积分 79 来自 湖南
难道楼主是把每个联系人的信息分别保存为对应的文件?

[ Last edited by digger on 2007-4-3 at 07:53 PM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023