找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 13703|回复: 28

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

[复制链接]
发表于 2009-2-4 16:51 | 显示全部楼层 |阅读模式
因为要把680里面的通讯录导到Nokia的机器里去,所以就用Palm Desktop导出了联系人到Vcard文件(.vcf),但是发现它把几百个联系人都存成了一个vcf文件。
% U# @: I2 P* w: q5 o! h- b这样的vcf文件nokia的pc套件是不认的,它只认一个联系人一个vcf文件那种。所以我就写了这个脚本把palm导出的vcf文件拆分成单个的。
% @$ {8 U4 `* l  m: _9 A% ~, k5 G使用Nokia PC Suit可以一次性选择导入几百个这些单个文件,很方便。
  1. Readme.txt! `- v" P, p0 Y3 m
  2. 因为从Palm Desktop导出的单个vcf文件包含了全部的联系人,与其他手机系统不兼容。
    * w- \$ y% c. P+ l
  3. 于是就需要使用该VBS脚本将单个vcf文件拆分成独立的vcf文件。& X: W# D5 M0 n: c- ~1 R0 V" X4 B

  4. 9 N# T7 _1 x" x7 @0 K$ e* ^# U) S
  5. 1. 从Palm Desktop中导出全部联系人至文件Contacts.vcf
    ' |# t( ?% f" B4 i  N2 x
  6. 2. 替换Palm_Vcf_Split文件夹中的Contacts.vcf文件
    4 }: G1 y& `1 Y- I' @
  7. 3. 双击运行total_vcf_2_sep_vcf.vbs,转换完成,输出的vcf文件在output文件夹中2 }; r; z: [" P4 D/ }  @
  8. 5 \1 p4 N0 W8 f/ u
  9. Version 0.2! y/ T( J  r; v' c# X/ K
  10. 2009-02-059 Y9 N% s% j$ a9 p
  11. by Corvus3 f  ?8 A" R- {' M$ U) Z
  12. fedora@126.com
复制代码

, Q# J$ ?) L' l$ B6 B) T; d+ v+ {[ 本帖最后由 militia 于 2009-2-5 17:08 编辑 ]

Palm_Vcf_Split_V0.2.rar

1.75 KB, 下载次数: 4058

评分

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

查看全部评分

回复

使用道具 举报

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

使用道具 举报

发表于 2009-2-4 23:25 | 显示全部楼层
可以切换palm管理端为outlook,然后同步手机将电话簿导入outlook,在导出到nokia套件即可~这样省的切分了~' L6 S# x" W4 c+ w$ ]; K7 R' s
也可以保存为逗号分隔文件,导入即可~- c6 ^7 p% r0 T  w8 y4 G9 L
5 R/ m) B* b2 \) T
一点小心得,楼主的脚本就收了~
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-2-5 10:18 | 显示全部楼层
楼主,我用的是6.2版的Palm Desktop。这两句话不知道怎么理解。8 a5 d: s! f  ]' C9 J
1. 从Palm Desktop中导出全部联系人至文件Contacts.vcf(我导出了)
6 ^8 t0 ^# V/ e+ O9 l2 [+ A2 c2. 替换PalmVards文件夹(这个文件夹在哪?)中的Contacts.vcf文件
; x- v& x( O: D我是用导出的Contacts.vcf直接替换你的文件包内的Contacts.vcf然后运行了脚本,就是错误。
8 G: s! o/ x+ d& _但是如果不这样做,第二步我也不知道该如何解决。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 11:58 | 显示全部楼层
不好意思,后来我把文件夹名称改了,没有改说明文字
/ o1 N7 v, [% c; }- h应该是Palm_Vcf_Split文件夹: S) p# n0 k  `+ F2 M! `1 R
请和我说一下报什么错误么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 12:02 | 显示全部楼层
我是用Palm Desktop 4.2导出的Contacts.vcf文件,用记事本打开后的内容是这个样子的
# }" T, ^& Z6 B3 B  Q  _- b$ j1 X, r8 h4 D
BEGIN:VCARD- J, M. F6 B1 B' |/ f5 J% ?
VERSION:2.1
# Q/ c' r6 F! [/ I% Z7 E# TN:Palm Treo 680! l9 y& K: [& z2 I
FN:Palm Treo 680/ P3 T6 i. V  |- ~4 H, A
Title:RED
5 P2 e; N, o9 }/ ]: W% H% BORG:Palm
) T8 \& m* L2 fTEL;CELL:13811111111) u* `  x" B$ L" f3 p# r/ [9 k
END:VCARD
$ r7 z' h( K  F/ H" U& K% K5 z7 K# x0 V3 @9 ?% x' o* Q
BEGIN:VCARD
1 x/ M' b8 h6 `! j6 p* b% w* eVERSION:2.14 ~8 ^6 w3 q% s; A% Y
N:Palm Treo 650
) z- {) t$ t9 w9 O1 [) D4 dFN:Palm Treo 650
. g' g2 e" [7 a$ q& rTitle:Silver
/ w" l0 e8 h3 T$ E' G" }3 J" NORG:Palm. q% t  l( C8 U$ }+ B( o" @& x' w
TEL;CELL:13822222222
& y4 o5 r3 Z; w$ C7 Y3 |; XEND:VCARD
/ J3 [6 l+ `8 Z8 O8 c/ @3 q
" _" \  C% j0 C. l1 f* H( K2 t- UBEGIN:VCARD8 L& ]0 K0 B" b- j7 g
VERSION:2.1
0 }+ F" ]# U* U% ^3 rN:Palm Treo 600
. e2 x) ~# L0 M0 i& q0 d8 R; _( IFN:Palm Treo 600
% K" L. J! T" e8 E# |Title:Black
& E3 f: a* `  d! BORG:Palm0 |& _3 f" {1 O& ^% M
TEL;CELL:13833333333
7 w2 \7 k* }- }) E" s5 jEND:VCARD
回复 支持 反对

使用道具 举报

发表于 2009-2-5 12:41 | 显示全部楼层
楼主我将错误贴了出来。我将联系人导出至Palm_Vcf_Split文件夹中的Contacts.vcf文件中,然后双击运行total_vcf_2_sep_vcf.vbs,出现
8 g5 }  Q: i$ q# O7 A8 I 错误.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 15:35 | 显示全部楼层
很奇怪,也不是中文文件路径名的关系; O4 S4 P4 v3 c# w) c
试试注册一下这个fso对象吧1 k6 u( O7 P  `) G' D
运行下面的命令注册一下FileSystemObject对象
& o! I9 U) K5 t. yRegSvr32 %windir%\SYSTEM32\scrrun.dll
2009-2-5 15-34-14.png
回复 支持 反对

使用道具 举报

发表于 2009-2-5 16:24 | 显示全部楼层
还是不行,一样的报错。另外附上Contacts.vcf文件,用记事本打开后的内容:
6 p3 y% o; E1 Z1 U' b8 @* DBEGIN:VCARD
! R* ?& W  q" x0 n" [0 \$ JVERSION:2.17 D4 O. A; O: [9 O) Y
PRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN6 P% I, c$ t' w9 ~7 M
N:姓;名  F  O0 X6 E$ q2 N/ l1 ?% l9 C
FN: 名 姓
% n- m" f% u1 T+ U2 w8 EIMPP:@MSN; W3 E9 F; Q1 q5 D% I
IMPP:@Yahoo
/ U, W! S' f1 T+ P! iTEL;CELL;PREF:XXXXXXXXXXX(电话号码)
2 h7 T- m1 N- e8 pREV:20090205T122250Z
" C$ I% C1 n/ e/ i$ kEND:VCARD" `" ~' R$ A: i8 K

3 P5 F# R- q8 v. a% O. `- Y, x每个联系人都是以上面这种形式为重复单位的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 16:30 | 显示全部楼层
明白了,是这一行的缘故4 S9 f/ S" A" p5 Q- Z* [
PRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN
1 {2 j/ \( Q/ y9 I/ F我的4.2和你的6.2不一样5 l3 c: H3 f1 K1 J& t& v

7 v3 D. J% ?$ S) _/ t* ]% `那我改改程序,做一个通用一点的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 17:06 | 显示全部楼层
修改好了,你试试这个新的脚本
1 P. c2 y0 ?0 x, v3 J$ o8 E5 Y3 D; i' @6 L8 p0 a& o

8 v# A7 r$ p  w! c
原帖由 jmhqlw 于 2009-2-5 16:24 发表 ; f! o  I( C  O" r6 A
还是不行,一样的报错。另外附上Contacts.vcf文件,用记事本打开后的内容:: D/ Z' Z/ s) ~$ A$ L1 E2 I* f
BEGIN:VCARD: v. y) |6 z! G  Y
VERSION:2.1
, }3 S' p* P  A$ R$ U* EPRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN& \0 I1 x( y- ?/ T  U& u
N:姓;名
( G8 S, G! ~" n% q, P8 v. C6 kFN: 名 姓
: G0 \& I3 N( O$ R6 tIMPP:@MSN
' z) {) S  I$ m9 wIMPP:@Yahoo
7 R! m: _+ O; K; w4 HT ...

Palm_Vcf_Split_V0.2.rar

1.75 KB, 下载次数: 1963

回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2009-2-5 22:22 | 显示全部楼层
欢迎转载啊
  |, p1 Y! \/ w& k) i' n8 G" T$ d3 r( b3 j% c5 R
原帖由 jmhqlw 于 2009-2-5 17:55 发表 5 i" N4 }! y7 Y+ |
终于OK了 ,楼主太谢谢了!不介意的话,我想把楼主的这项成果转到其他的论坛上?其实昨晚未经楼主同意,我已经转发了一次
回复 支持 反对

使用道具 举报

发表于 2009-2-6 23:15 | 显示全部楼层
楼主,我碰到了上面那位仁兄一样的问题,也是6的DESKTOP,% x+ E5 f, \) ?) t1 h0 K( U* D
注册也注了,也下了你新的那个RAR文件,还是没用) ^8 J6 I2 W6 _2 \! ^9 P
报错都和楼上的那位一样,我报错时显示的行是:39,其他同楼上报错时的图片.7 |6 y- ^. F( H* m, `0 U, n$ ?+ R

- y8 b" O( H* `但中间有一次导出了4个名字来在OUTPUT文件夹里,再点就是文件已经存在,把那四个删掉再点又是报错, 不能成功...
# x, Z- _: Y; ^: v' b; e6 [# G/ O7 `" N) k, n
[ 本帖最后由 neilfan 于 2009-2-6 23:19 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-7 15:18 | 显示全部楼层
你贴一个你的VCARD内容看看& T, |, \# R9 L" _+ ^. I/ K1 ?. Y
从BEGIN:VCARD开始到END:VCARD
  l5 m/ A: s, N* R* n( ?
7 T# B- P& j! N* Q1 IBEGIN:VCARD7 p4 A( P4 P" {/ X
...$ j& t! d3 Q1 a$ D8 [& x
...( g9 x" J/ O3 B
END:VCARD
回复 支持 反对

使用道具 举报

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

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

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

使用道具 举报

 楼主| 发表于 2009-2-9 15:50 | 显示全部楼层
肯定是因为你的VCARD文件里没有  FN:  开头的这一行$ ?% H% f  U" I8 {" P

8 k, v; Z3 R' l* P# \BEGIN:VCARD
# E; ]8 _. E1 X2 }' xVERSION:2.19 C# h; N! d0 k9 E+ H6 o, i" W
N:Palm Treo 6800 E( H  F1 @6 x+ U* e7 \2 `1 n9 r
FN:Palm Treo 680
* Z1 p4 y8 W* ~% hTitle:RED
. ?$ A6 e7 o, {4 g+ uORG:Palm9 l. f6 X1 [9 T" X9 h/ q
TEL;CELL:13811111111. g: C. L! J8 X0 K5 K
END:VCARD/ n# w3 {& z9 C
  j3 x  k3 C( b- o3 V7 u
我使用 FN: 开头的这一行作为文件名的,要是没有这一行,默认就是tmp.vcf
/ w. I/ k# e/ k) b) l7 h
& S( B2 @. N+ }' J2 N% g你需要确认一下你的VCARD文件里有没有FN:或者N:开头的行,有的话用下面这两个脚本就可以了。) p8 H" e) Q; X( b; |
! D% I4 H2 [2 o2 `: w( {
附件里
/ S6 D7 l, s, L1 m! R# e5 y6 Jtotal_vcf_2_sep_vcf_FN.vbs  是以FN:那一行为文件名
! ^6 \" d1 O$ S9 B8 b  Q( \! D+ j( [
total_vcf_2_sep_vcf_N.vbs    是以N:那一行为文件名1 e+ h) c* u! K. K! Q

, ~3 B. t2 L: U9 ^5 f4 F$ Z把VBS文件复制到Palm_Vcf_Split文件夹内直接执行就可以了
8 r& u) [0 G; A- O( h# u* g" i* K& S6 Q6 \" A

! |& V5 w& v" D0 u
" s" ]4 [, q. b, K# J7 L) L/ q4 g8 D. c+ U
原帖由 adp666 于 2009-2-9 12:14 发表
8 m, ?' e3 B( A' P  l0 c- ^+ \- o2 pLZ,我按要求转换后,程序说转换了122个并保存了。但是输出的只有一个且文件名为“tmp.vcf”。请问是何原因?

total_vcf_2_sep_vcf_FN.vbs

1.67 KB, 下载次数: 1590

total_vcf_2_sep_vcf_N.vbs

1.67 KB, 下载次数: 1680

回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-2-21 10:34 | 显示全部楼层
不知道我说得对不对,这个脚本在N年前,在tompda上有个叫tonywoo已经写过了。下面是链接:6 C! J7 P1 |- \( {5 Y5 H! l9 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: I- H4 b" |% c3 H. t( Q* x+ W4 W

; ~( S$ G' C0 Q/ N本人是palm PDA的老胖,N年前用过这个软件,非常好用。关键是从palm导出的联系人的栏位和outlook通讯录对应得非常好。比通过excel另存为csv文件导入好的多。实现了所有手机联系人互相之间的完美转换。' t  \6 u. k8 P  B

% A! a  ]) V/ o. ?) w: D' V# h" G这个软件不仅有拆分功能,还有合并功能,很是实用。
5 t/ R7 P0 L0 }/ X  R7 O4 A/ I
% \" B: g1 \( o0 X$ U几点说明:
, C9 E# x4 _$ F8 B0 G1.PC要有java平台(http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe
3 s1 I0 d8 y7 P/ [6 z2.在palm desktop中选中全部联系人,导出为一个vcf文件(取名随意的),将整合了联系人vcf文件放入到“合并了的联系人”目录。然后双击“拆分.bat”就行了,拆分的结果就在“拆分了联系人”目录。要将拆分的许多vcf文件导入outlook中,只要全部选中后拖入outlook通讯簿窗口就可以了,不必逐条导入。
$ T% |8 }1 ~% m& e4 c3.反过来如果要整合很多单个的vcf文件,比如导入到palm desktop,那么就把很多单个的vcf文件放入到拆分了的“联系人目录”,然后运行“合并.bat”,就行了,合并的结果就在“合并了的联系人”目录。
# x8 K7 S8 }. T: C* _3 [) j. {# N7 r5 i- C1 V4 }  n
下面是tonywoo的软件。
9 N% }. R. G! N4 r  Q4 F! N3 E- \2 o1 u# c- G. f: y: Z
[ 本帖最后由 shinyw 于 2009-2-21 11:13 编辑 ]

联系人工具.rar

3.28 KB, 下载次数: 1786

回复 支持 反对

使用道具 举报

发表于 2009-2-21 17:41 | 显示全部楼层
超级好的东西哎!
, ]0 F8 h4 l0 @谢谢LZ!
: c; ?1 ?( [" E  z+ {6 Q9 o  Z真的太实用了!
* m4 h* v# r  S+ F. }就是这个小东西让我来到了这个论坛!3 p/ s) \- W3 l# {& {3 ]
感谢!
回复 支持 反对

使用道具 举报

发表于 2009-2-21 21:01 | 显示全部楼层
刚刚实验了下,LZ的程序(包含19F)以及21F提供的程序对我得VCF文件似乎都无效。
; ]6 c( C$ T* b4 [1 a- J+ L: o我看了下,好像是VCF格式的内部格式也有区别的。
! D/ R; Q- _, B9 q我的文件是SONY 的UIQ3.0版导出的,对于姓名的格式好像不大相同,我的VCF内容:
# w* R$ P% w8 ^7 {3 ?# g
+ T$ H/ Y0 @' d1 e, D) O6 }BEGIN:VCARD
: A7 ?' o. ^- X" _VERSION:2.14 F& a7 K0 }9 u# b: F8 s5 _
REV:20070904T150556Z& r# G# F. d6 A3 J
UID:22e21bd3a229e7d8-00e11703af785fe0-775; a" g+ R# \6 Z0 \/ x
N;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;=E7=88=B8=E7=88=B8;;;
. @$ n. M  ^- [: X! n4 ~TEL;CELL:13805140000
  L( A2 @4 E8 U; B5 v. |! UEND:VCARD- [: ~$ i* p" O, I( m) p$ w

+ l! v+ K5 L5 c+ Z" v4 V( W( F9 {) @) c
想请教下应该怎么改程序才能正确拆分呢?谢谢!
; o- t2 m& G  l0 Q( U" i0 V/ O# @1 K0 L" h  O: e1 t
[ 本帖最后由 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手机的格式问题了' Z8 A: H: ^7 U$ r6 ?, z: {) Y
只有用专用的浏览工具显示才正常
1 W7 S5 g6 k- j3 o: q1 s导出的VCF好像在Outlook里导入也有些不正常' o) h9 {  o% M: i6 L% s" N/ A
不知道LZ看了我上面的源码有没有什么拆分解决的方案啊?
, h0 T7 ~8 F1 O# I0 _+ I( Z" A$ N谢谢!
回复 支持 反对

使用道具 举报

发表于 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-4-11 04:26 , Processed in 0.458208 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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