找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 13592|回复: 28

[PalmOS软件] 写了一个拆分vcf文件的脚本,和大家分享

[复制链接]
发表于 2009-2-4 16:51 | 显示全部楼层 |阅读模式
因为要把680里面的通讯录导到Nokia的机器里去,所以就用Palm Desktop导出了联系人到Vcard文件(.vcf),但是发现它把几百个联系人都存成了一个vcf文件。- e* K) r9 S6 f8 x* B9 J, T
这样的vcf文件nokia的pc套件是不认的,它只认一个联系人一个vcf文件那种。所以我就写了这个脚本把palm导出的vcf文件拆分成单个的。$ {/ B0 Z, Y4 [8 v. n- B8 i
使用Nokia PC Suit可以一次性选择导入几百个这些单个文件,很方便。
  1. Readme.txt. @, V) l3 A, k7 \) @/ y
  2. 因为从Palm Desktop导出的单个vcf文件包含了全部的联系人,与其他手机系统不兼容。
    8 e0 _- D' Y/ @7 U1 v8 N
  3. 于是就需要使用该VBS脚本将单个vcf文件拆分成独立的vcf文件。
    8 ?  o( J. {# t0 z  }" s

  4. - {' e9 z% g8 l" r: z5 S
  5. 1. 从Palm Desktop中导出全部联系人至文件Contacts.vcf
    8 w& H. A% O0 ^- ?0 _3 ?! x) g
  6. 2. 替换Palm_Vcf_Split文件夹中的Contacts.vcf文件. q0 v  W! r) D; [
  7. 3. 双击运行total_vcf_2_sep_vcf.vbs,转换完成,输出的vcf文件在output文件夹中
    , ~- `* c4 ?1 H; C& \3 F5 g
  8. 2 L: }+ E2 L: P( Y4 U9 |; }+ n
  9. Version 0.26 B# i; O: c$ V- o" u
  10. 2009-02-05# M  q" b5 s0 X% N/ a
  11. by Corvus
    $ z' I( z9 b0 b  q3 g  e/ h/ O
  12. fedora@126.com
复制代码
+ ^8 p( l; u! Z" K. X2 W
[ 本帖最后由 militia 于 2009-2-5 17:08 编辑 ]

Palm_Vcf_Split_V0.2.rar

1.75 KB, 下载次数: 3996

评分

参与人数 1威望 +10 收起 理由
KING + 10 原创内容

查看全部评分

回复

使用道具 举报

发表于 2009-2-4 18:05 | 显示全部楼层
支持楼主,下了收藏,虽然短期内用不上
回复 支持 反对

使用道具 举报

发表于 2009-2-4 23:25 | 显示全部楼层
可以切换palm管理端为outlook,然后同步手机将电话簿导入outlook,在导出到nokia套件即可~这样省的切分了~
) C1 }% x' p4 l* M* X也可以保存为逗号分隔文件,导入即可~* V9 Y* L1 ?. R
. ?4 Z. Q9 F0 U/ X3 O" u
一点小心得,楼主的脚本就收了~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 09:21 | 显示全部楼层
逗号分隔文件要映射太麻烦了。同步到outlook倒是没有尝试过...
回复 支持 反对

使用道具 举报

发表于 2009-2-5 10:18 | 显示全部楼层
楼主,我用的是6.2版的Palm Desktop。这两句话不知道怎么理解。; w# ~- P6 J6 x7 x& k" H
1. 从Palm Desktop中导出全部联系人至文件Contacts.vcf(我导出了)
, I1 ]% S6 q9 S" {' N1 Y6 E$ H2. 替换PalmVards文件夹(这个文件夹在哪?)中的Contacts.vcf文件
" B, V. e, m+ w1 M, [我是用导出的Contacts.vcf直接替换你的文件包内的Contacts.vcf然后运行了脚本,就是错误。& J' x! k7 ]8 ?5 e3 t( I
但是如果不这样做,第二步我也不知道该如何解决。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 11:58 | 显示全部楼层
不好意思,后来我把文件夹名称改了,没有改说明文字
! p0 C1 Z, M1 q0 Y& l; }2 h7 I应该是Palm_Vcf_Split文件夹
! l+ X1 y6 w2 P9 j% ^7 F, p  c8 |; K请和我说一下报什么错误么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 12:02 | 显示全部楼层
我是用Palm Desktop 4.2导出的Contacts.vcf文件,用记事本打开后的内容是这个样子的
1 j" Q9 |9 C, v6 U9 y$ J/ [' m1 x9 p5 S
BEGIN:VCARD
+ \, Y* S7 `) m' H! N8 `7 KVERSION:2.1
% I7 g* r+ G" g* q. ?9 M* |N:Palm Treo 680- ~* T7 v4 j( ~$ z; C0 r1 }2 _
FN:Palm Treo 680- R& J3 B6 E8 s+ G4 f4 L9 t" K$ r/ ~
Title:RED. M2 o$ t4 ^  u! i; I
ORG:Palm
) E! s- F9 Q4 f5 q$ c8 @TEL;CELL:138111111117 [/ k7 n1 U% l" q% Q# ^
END:VCARD. p9 r4 c* _# A3 w1 d# w" @
* p: ]0 c/ z: _
BEGIN:VCARD6 f1 \- M- `0 J; k* B0 Q
VERSION:2.1- ^1 r3 ]" `% ~8 c
N:Palm Treo 650
2 S4 Y# v' d3 M" v$ T3 c2 ^- UFN:Palm Treo 650* S7 o2 g6 }/ a. G8 E7 q: K$ P
Title:Silver+ M0 ^0 T1 v6 s; J0 Z5 K+ z
ORG:Palm* j3 K4 ]1 `1 W& B0 ]; r1 _% ^
TEL;CELL:13822222222* C2 X3 Y8 Y5 @* Y5 G
END:VCARD
' D; m7 K* t/ G$ l  \" B' ~" w4 \  F3 a$ K% t
BEGIN:VCARD7 r# K  X6 o, ^4 \) Q
VERSION:2.1
2 [; C" N  l: O* N5 [# F: x! bN:Palm Treo 600
; h( r' G" e0 m! A6 w9 V- K8 mFN:Palm Treo 600
9 \+ w, h/ U; ^4 H0 TTitle:Black! S$ }8 w2 `2 x6 J
ORG:Palm) t* C9 _; \) o2 M% i! X
TEL;CELL:138333333330 a1 y& A7 n, _& K) V2 N1 d
END:VCARD
回复 支持 反对

使用道具 举报

发表于 2009-2-5 12:41 | 显示全部楼层
楼主我将错误贴了出来。我将联系人导出至Palm_Vcf_Split文件夹中的Contacts.vcf文件中,然后双击运行total_vcf_2_sep_vcf.vbs,出现+ G4 V5 l7 H* F
错误.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 15:35 | 显示全部楼层
很奇怪,也不是中文文件路径名的关系" o8 w: j1 Z0 j( m9 e2 |% g! h
试试注册一下这个fso对象吧
" W% ]6 {; b% k4 O( u4 a/ G3 f$ _运行下面的命令注册一下FileSystemObject对象6 r4 A# |  a, d  b
RegSvr32 %windir%\SYSTEM32\scrrun.dll
2009-2-5 15-34-14.png
回复 支持 反对

使用道具 举报

发表于 2009-2-5 16:24 | 显示全部楼层
还是不行,一样的报错。另外附上Contacts.vcf文件,用记事本打开后的内容:
8 C8 i$ u5 w2 p: J% PBEGIN:VCARD
7 P1 n/ S( z7 L) `" V% A8 P5 HVERSION:2.17 |4 p& U- g- k6 {
PRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN4 q8 U" F; ]$ [5 _# r
N:姓;名# L8 E' s/ W; a9 [/ S
FN: 名 姓
2 t0 Z3 O$ M. D! r0 L, V' T$ cIMPP:@MSN
! w# X& I6 t5 W  A8 b: `IMPP:@Yahoo
" v7 ~  L% u& m2 YTEL;CELL;PREF:XXXXXXXXXXX(电话号码)% m% p9 a) g* G; @; M! e+ y
REV:20090205T122250Z
* G% F9 P* H/ n: g3 a8 k( Y. [END:VCARD
8 t8 u3 F! A- E9 C+ J, M( L( t* n" o! N
每个联系人都是以上面这种形式为重复单位的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 16:30 | 显示全部楼层
明白了,是这一行的缘故4 W1 Z7 Y0 \- W2 [
PRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN
$ y. |5 O4 t8 b$ ]6 _' r' N7 H我的4.2和你的6.2不一样9 o' {$ q, s- p# F4 }6 e
; `5 S/ |$ ^2 S
那我改改程序,做一个通用一点的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 17:06 | 显示全部楼层
修改好了,你试试这个新的脚本1 P2 N6 m, P: H* y0 t
, }  m9 o1 S/ |; A% L6 ?0 L" P8 ]
; ~# W6 H! N& d3 V+ @. N
原帖由 jmhqlw 于 2009-2-5 16:24 发表 6 f  h0 N$ {; q& j0 U
还是不行,一样的报错。另外附上Contacts.vcf文件,用记事本打开后的内容:
3 `. M# C$ c1 CBEGIN:VCARD* S' W$ T( ?  t9 t1 v" n
VERSION:2.18 Z$ }4 u1 b; j) H: |
PRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN: J" k0 j9 n# s$ D
N:姓;名
4 V2 J  r/ S2 b' I, j5 AFN: 名 姓
) g) r: u( K' a1 ?* T, Y# ^IMPP:@MSN$ U5 k% p/ F: ~( c, |' p
IMPP:@Yahoo
" n# F  H3 D! W+ c, M- `T ...

Palm_Vcf_Split_V0.2.rar

1.75 KB, 下载次数: 1892

回复 支持 反对

使用道具 举报

发表于 2009-2-5 17:55 | 显示全部楼层
终于OK了 ,楼主太谢谢了!不介意的话,我想把楼主的这项成果转到其他的论坛上?其实昨晚未经楼主同意,我已经转发了一次
回复 支持 反对

使用道具 举报

发表于 2009-2-5 19:28 | 显示全部楼层
不错,支持一个,能用,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 22:22 | 显示全部楼层
欢迎转载啊 & z& r( ^- `  O$ X0 o
8 C3 F: J$ O+ O; E
原帖由 jmhqlw 于 2009-2-5 17:55 发表
" H, z# X  s$ w: n/ K, I0 L' z终于OK了 ,楼主太谢谢了!不介意的话,我想把楼主的这项成果转到其他的论坛上?其实昨晚未经楼主同意,我已经转发了一次
回复 支持 反对

使用道具 举报

发表于 2009-2-6 23:15 | 显示全部楼层
楼主,我碰到了上面那位仁兄一样的问题,也是6的DESKTOP,. @* t2 G4 }/ y8 V0 T
注册也注了,也下了你新的那个RAR文件,还是没用
* J9 Z2 o% S& `+ G/ e  F; a* m6 x报错都和楼上的那位一样,我报错时显示的行是:39,其他同楼上报错时的图片./ C, V4 X9 _$ m8 ]

2 J9 \6 L8 g- b" L但中间有一次导出了4个名字来在OUTPUT文件夹里,再点就是文件已经存在,把那四个删掉再点又是报错, 不能成功...
! ~7 \8 B" n5 ?/ h; D
( h2 B+ |3 I2 C( n7 O) Q% P5 |[ 本帖最后由 neilfan 于 2009-2-6 23:19 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-7 15:18 | 显示全部楼层
你贴一个你的VCARD内容看看
" s' M' Q+ q% T0 X2 A( S" p) h从BEGIN:VCARD开始到END:VCARD4 U) b' u4 {# `9 c  E
/ [' `2 w% p" e5 s
BEGIN:VCARD
, M' R7 u; a2 @: Z...
0 w, w% X/ M' G...
: g: L0 C2 q! \3 s9 f1 ~% `5 W/ s5 dEND:VCARD
回复 支持 反对

使用道具 举报

发表于 2009-2-9 12:14 | 显示全部楼层

问题报告:122多个只输出1个

LZ,我按要求转换后,程序说转换了122个并保存了。但是输出的只有一个且文件名为“tmp.vcf”。请问是何原因?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-9 15:50 | 显示全部楼层
肯定是因为你的VCARD文件里没有  FN:  开头的这一行2 V/ S9 D0 L3 {+ f! {" H4 N

3 x! C6 ?$ p+ _0 W  K6 lBEGIN:VCARD; k; H* ?2 t# ^. u& l  |7 P1 N
VERSION:2.1
( j5 n7 v0 e% B, b7 e$ XN:Palm Treo 680
( x% i: [8 E- s( PFN:Palm Treo 680
1 l9 n# G4 z& o1 U$ LTitle:RED
- I' {* _+ ^2 d! Z5 p8 }ORG:Palm
: n# b+ S# L5 a  ^+ WTEL;CELL:13811111111) {  e, a) `* T# u6 q
END:VCARD
4 t, }- ?5 R4 D: a- G! Y) ^$ y, J! b4 y. v# [5 J
我使用 FN: 开头的这一行作为文件名的,要是没有这一行,默认就是tmp.vcf9 h6 i) c" i# j
. S: c+ \. m  L; x! t
你需要确认一下你的VCARD文件里有没有FN:或者N:开头的行,有的话用下面这两个脚本就可以了。
4 K0 T2 M9 j1 M
6 P7 G  @2 d/ A+ g. p附件里
4 q9 ^7 t' B- f  z8 a1 h$ H( e  Itotal_vcf_2_sep_vcf_FN.vbs  是以FN:那一行为文件名0 J" G9 g/ [; ?! @) X- W% l
5 |0 P* S- g$ r/ i& {
total_vcf_2_sep_vcf_N.vbs    是以N:那一行为文件名+ Z2 u4 {+ ^0 W
, |$ o7 b7 ]  H2 e4 k, j
把VBS文件复制到Palm_Vcf_Split文件夹内直接执行就可以了
' V) o  g, Y, b+ r! ^5 p7 \
  }3 h6 L+ G. E* i1 B5 G$ p6 I4 _  }  p' X4 `# w
9 b2 M0 `9 K' I
7 d; e: ~+ C" l7 U( h
原帖由 adp666 于 2009-2-9 12:14 发表 ( G# w& b: G, \- a: m, _. @5 a5 I6 j
LZ,我按要求转换后,程序说转换了122个并保存了。但是输出的只有一个且文件名为“tmp.vcf”。请问是何原因?

total_vcf_2_sep_vcf_FN.vbs

1.67 KB, 下载次数: 1525

total_vcf_2_sep_vcf_N.vbs

1.67 KB, 下载次数: 1614

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-9 15:56 | 显示全部楼层
如果你的VCARD文件里确实没有FN:或者N:打头的那一行,那就用记事本打开Contacts.vcf文件,把里面联系人名称那一行开头的字符替换成FN:或者N:,再运行脚本。
回复 支持 反对

使用道具 举报

发表于 2009-2-21 10:34 | 显示全部楼层
不知道我说得对不对,这个脚本在N年前,在tompda上有个叫tonywoo已经写过了。下面是链接:4 R0 b; ]0 R! p
http://bbs.tompda.com/viewthread.php?tid=1297335&highlight=%CA%D6%BB%FA%D6%AE%BC%E4%BB%A5%CF%E0%B5%BC%B5%C4%D7%EE%BC%D1%B7%BD%B0%B8
0 ^0 D; Z2 A0 v6 J8 b
& @" j4 u1 M/ R4 n9 T/ U本人是palm PDA的老胖,N年前用过这个软件,非常好用。关键是从palm导出的联系人的栏位和outlook通讯录对应得非常好。比通过excel另存为csv文件导入好的多。实现了所有手机联系人互相之间的完美转换。
4 p' A2 p7 X& G4 f
1 Z- \7 I/ v: g3 O这个软件不仅有拆分功能,还有合并功能,很是实用。
, G# {9 A2 |+ G* Y" k! S/ ~4 I7 l9 e/ O
; i* X# Z2 e6 o; R几点说明:
4 y  ~3 N: m( h9 P1 |1.PC要有java平台(http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe
6 J6 T: X+ t! ?, j( Z2.在palm desktop中选中全部联系人,导出为一个vcf文件(取名随意的),将整合了联系人vcf文件放入到“合并了的联系人”目录。然后双击“拆分.bat”就行了,拆分的结果就在“拆分了联系人”目录。要将拆分的许多vcf文件导入outlook中,只要全部选中后拖入outlook通讯簿窗口就可以了,不必逐条导入。
  ~: w' c: r/ o9 d. n9 P3 `3.反过来如果要整合很多单个的vcf文件,比如导入到palm desktop,那么就把很多单个的vcf文件放入到拆分了的“联系人目录”,然后运行“合并.bat”,就行了,合并的结果就在“合并了的联系人”目录。7 F& Y" r  v3 Y  P9 P. N

' Q  ~/ ]' ^- B5 Q# P$ b下面是tonywoo的软件。& E3 E0 E  x# {. C4 ], J6 C' b

8 \& R) a" G9 x+ o% W[ 本帖最后由 shinyw 于 2009-2-21 11:13 编辑 ]

联系人工具.rar

3.28 KB, 下载次数: 1721

回复 支持 反对

使用道具 举报

发表于 2009-2-21 17:41 | 显示全部楼层
超级好的东西哎!2 `' A0 g! g5 {/ j) h
谢谢LZ!: f) _/ ]& h* ?$ c0 L9 R% a$ L
真的太实用了!( A  Q- F& n! y. Q! p+ o/ b9 C
就是这个小东西让我来到了这个论坛!
6 l, \* w, M2 _. L4 E8 ?感谢!
回复 支持 反对

使用道具 举报

发表于 2009-2-21 21:01 | 显示全部楼层
刚刚实验了下,LZ的程序(包含19F)以及21F提供的程序对我得VCF文件似乎都无效。
; b6 _' W2 n7 }3 ~/ z我看了下,好像是VCF格式的内部格式也有区别的。
* g! C5 S5 ~3 o% J- S9 w6 T. a# ~- l我的文件是SONY 的UIQ3.0版导出的,对于姓名的格式好像不大相同,我的VCF内容:
$ n3 P/ V% w% X1 Z6 M# A5 Z' K
5 d# N* m" F. \9 Q2 W% o) eBEGIN:VCARD
& |4 D0 U; d$ cVERSION:2.1
, y4 _7 X# d+ M* A$ L) z4 C5 CREV:20070904T150556Z
) B- _7 l8 ?2 L( e  ~% oUID:22e21bd3a229e7d8-00e11703af785fe0-775
. w8 b& t! N: ?( q6 u1 Z0 @N;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;=E7=88=B8=E7=88=B8;;;( U; d* x8 b- M6 D: o; l" S0 x- p
TEL;CELL:13805140000
- ~  M3 ]1 T: x/ l2 o' q0 qEND:VCARD
2 ^, Y9 x. ?  Z/ q. U( z5 M0 a7 }' S3 Q% `9 `( g* u6 m" P* @
. _6 B2 W7 b& F2 t+ s
想请教下应该怎么改程序才能正确拆分呢?谢谢!. a$ o5 y. I, p  ]$ K$ {) W4 {* ]
7 f5 o9 L% D2 q0 L) H* c
[ 本帖最后由 South 于 2009-2-21 21:06 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2009-2-22 02:58 | 显示全部楼层
支持开发
回复 支持 反对

使用道具 举报

发表于 2009-2-22 18:52 | 显示全部楼层

回复 23楼 South 的帖子

我用“联系人工具”将650的联系人转到BB8700非常完美。
回复 支持 反对

使用道具 举报

发表于 2009-2-22 21:01 | 显示全部楼层
我怀疑是我老的SE P990i手机的格式问题了
/ s4 @" M8 z  q' ?. N只有用专用的浏览工具显示才正常, ?( Z( b6 [2 O5 E1 ^
导出的VCF好像在Outlook里导入也有些不正常( J2 x. r4 P8 U
不知道LZ看了我上面的源码有没有什么拆分解决的方案啊?
4 p5 C# y& }% z! h谢谢!
回复 支持 反对

使用道具 举报

发表于 2009-5-6 15:07 | 显示全部楼层
OKOK  OKOK
回复 支持 反对

使用道具 举报

发表于 2009-5-7 21:30 | 显示全部楼层
good very good
回复 支持 反对

使用道具 举报

发表于 2012-7-26 14:32 | 显示全部楼层
多年以后的,这个帖子救了我。MARK一记,表示感谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2025-2-25 05:19 , Processed in 0.382666 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表