找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 13593|回复: 28

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

[复制链接]
发表于 2009-2-4 16:51 | 显示全部楼层 |阅读模式
因为要把680里面的通讯录导到Nokia的机器里去,所以就用Palm Desktop导出了联系人到Vcard文件(.vcf),但是发现它把几百个联系人都存成了一个vcf文件。" x% B% p& z& p2 R0 Q8 R1 y( m
这样的vcf文件nokia的pc套件是不认的,它只认一个联系人一个vcf文件那种。所以我就写了这个脚本把palm导出的vcf文件拆分成单个的。
7 I8 @; n7 ?" |使用Nokia PC Suit可以一次性选择导入几百个这些单个文件,很方便。
  1. Readme.txt
    6 {% ?6 l  P# k: [! k7 U; H) ~
  2. 因为从Palm Desktop导出的单个vcf文件包含了全部的联系人,与其他手机系统不兼容。' v7 D  g! q$ e4 i: `' Y
  3. 于是就需要使用该VBS脚本将单个vcf文件拆分成独立的vcf文件。& [0 [& v4 {1 _6 _+ b- _, ?
  4. 5 D1 w, J- r# o- g' M3 E5 O
  5. 1. 从Palm Desktop中导出全部联系人至文件Contacts.vcf+ F! H. X, M' u) a5 n+ \
  6. 2. 替换Palm_Vcf_Split文件夹中的Contacts.vcf文件
    4 Q7 V/ ?0 s! _, m- j6 I4 h3 g
  7. 3. 双击运行total_vcf_2_sep_vcf.vbs,转换完成,输出的vcf文件在output文件夹中
    - T" s4 m! P/ H! j4 j
  8. 1 _! \3 x" Q. G( z& j- x3 w
  9. Version 0.2
    / Z+ K' x* j4 C* }5 E$ ^
  10. 2009-02-05
    ; m# K( ~2 W" c
  11. by Corvus
    ' f4 @4 V. l! Z
  12. fedora@126.com
复制代码
3 J; K6 o' _5 d+ N$ N3 u
[ 本帖最后由 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套件即可~这样省的切分了~
8 I) E  K; x8 _也可以保存为逗号分隔文件,导入即可~
* k  O0 s! E3 j! G* b9 Y3 ~( p7 s1 n2 h$ Q- Y; e. ?
一点小心得,楼主的脚本就收了~
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-2-5 10:18 | 显示全部楼层
楼主,我用的是6.2版的Palm Desktop。这两句话不知道怎么理解。
# _/ p& P. @* r" R0 _1. 从Palm Desktop中导出全部联系人至文件Contacts.vcf(我导出了)7 B; ?: Q7 I/ t( J& [1 u
2. 替换PalmVards文件夹(这个文件夹在哪?)中的Contacts.vcf文件
3 R: b- U& v4 j我是用导出的Contacts.vcf直接替换你的文件包内的Contacts.vcf然后运行了脚本,就是错误。
$ D0 B4 @! J8 g' u4 s; W但是如果不这样做,第二步我也不知道该如何解决。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 11:58 | 显示全部楼层
不好意思,后来我把文件夹名称改了,没有改说明文字
% m+ t: B  z! i+ k; C- t应该是Palm_Vcf_Split文件夹
2 D& y. A, W5 V% y请和我说一下报什么错误么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 12:02 | 显示全部楼层
我是用Palm Desktop 4.2导出的Contacts.vcf文件,用记事本打开后的内容是这个样子的7 C0 j3 E2 r+ q" @: Y
7 n6 _* ^. s* e) D! ~5 b% X
BEGIN:VCARD
& o- `: S( _4 @/ X, D7 OVERSION:2.14 C+ M* n0 U2 \* e* ]  o1 D! @
N:Palm Treo 680
. U' ]1 r! K1 m+ a  rFN:Palm Treo 680# l+ \7 c5 M) H  w% D: ~" D) q
Title:RED7 b* C& i2 }  Y
ORG:Palm+ N. {2 {6 h$ P
TEL;CELL:13811111111$ N6 T  m3 f+ @% J
END:VCARD4 ]) b8 m/ y2 b& e
* W! V. _+ h7 s* {
BEGIN:VCARD# \3 J1 U# y0 L' [
VERSION:2.1; H4 D: U) p) s" B4 l8 N! e5 G
N:Palm Treo 650
6 f8 h$ J9 Z+ Y* G0 ~, U3 o3 wFN:Palm Treo 650) Q' i& n. T  b; }
Title:Silver0 ~9 D3 ~& r/ c" ]. r
ORG:Palm$ c' f3 i$ \) X2 \
TEL;CELL:13822222222/ A. {1 P6 C" `$ Y% T: n/ ]
END:VCARD
: c7 C2 G: G5 n% N1 [, C& [( Q9 s* E7 E# a+ ?. t
BEGIN:VCARD
/ M/ L0 L" v. T, ]VERSION:2.1& ]+ A3 B7 o  _9 D$ ]/ I0 `
N:Palm Treo 6002 O) G# V3 d- ]: A8 q
FN:Palm Treo 600
- Q3 q% v  n. X  wTitle:Black9 ?5 _, s1 d& T- V5 w" P
ORG:Palm* |$ S; T& U5 p# N) K
TEL;CELL:138333333338 C* a# n# U" ^" ]! {
END:VCARD
回复 支持 反对

使用道具 举报

发表于 2009-2-5 12:41 | 显示全部楼层
楼主我将错误贴了出来。我将联系人导出至Palm_Vcf_Split文件夹中的Contacts.vcf文件中,然后双击运行total_vcf_2_sep_vcf.vbs,出现; E- e4 L: B. P; j; p6 Y5 M$ W
错误.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 15:35 | 显示全部楼层
很奇怪,也不是中文文件路径名的关系
  U, G, j5 ^8 K& Y& L& s试试注册一下这个fso对象吧
& |$ x# d+ b5 c+ J: s, h8 I6 z运行下面的命令注册一下FileSystemObject对象
; G7 v+ t" \4 I4 _0 v- n3 pRegSvr32 %windir%\SYSTEM32\scrrun.dll
2009-2-5 15-34-14.png
回复 支持 反对

使用道具 举报

发表于 2009-2-5 16:24 | 显示全部楼层
还是不行,一样的报错。另外附上Contacts.vcf文件,用记事本打开后的内容:
! v& E$ ^' ~6 y# K) ~7 s; M0 z# uBEGIN:VCARD9 U1 u4 `8 s. ]4 P
VERSION:2.1
, @8 ~7 s/ ^& G; u3 m& jPRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN
5 y  X4 P2 u8 s, X$ NN:姓;名. ]+ d. a) }6 S  `  E# h5 k6 ?
FN: 名 姓) D4 O8 h9 N  k, j0 ]
IMPP:@MSN
( |0 N" D  l2 U; B/ Z9 r0 F5 p! {IMPP:@Yahoo0 }- Y7 b5 P1 J/ Q  D: c: ?
TEL;CELL;PREF:XXXXXXXXXXX(电话号码)
$ J# k% |) @) E9 w) NREV:20090205T122250Z
2 {3 F4 t% a. S6 R) [1 REND:VCARD
" v' d: c2 J5 \( J. P7 T8 b, Y% Y  A* ^2 O' C
每个联系人都是以上面这种形式为重复单位的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 16:30 | 显示全部楼层
明白了,是这一行的缘故( Y" u; b; f5 `5 M" ]6 Y
PRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN
. |, Y5 k8 Y& z: q- V+ e4 Z' t我的4.2和你的6.2不一样  t5 w1 I' X. ]' ~
& ]: i8 Z- R& ^# R
那我改改程序,做一个通用一点的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-5 17:06 | 显示全部楼层
修改好了,你试试这个新的脚本
1 S; V' C7 X3 ?; G1 ?
3 ^" y+ A0 T9 S% g9 h" m
8 w* k' D# x8 m  B! Q
原帖由 jmhqlw 于 2009-2-5 16:24 发表
0 A4 B6 ?& c/ S1 s! I/ l还是不行,一样的报错。另外附上Contacts.vcf文件,用记事本打开后的内容:) e/ o7 O, v! u* C
BEGIN:VCARD
! ?+ S" [  Y3 @4 Z) x4 r8 XVERSION:2.1) N" I) c! Z$ b: @( }: m0 z) b( C
PRODID:-//PalmSource//Palm OS Desktop//6.0//Classic//EN1 z2 {, w  X+ {, i) d. J
N:姓;名$ v9 p' _! j$ ]1 d$ {- X
FN: 名 姓& N4 `% W: [  J. E
IMPP:@MSN, s; ~5 [$ Z& {( w% |, F. W. y
IMPP:@Yahoo- s: N- ~0 _- x) h" U
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 | 显示全部楼层
欢迎转载啊
- H# H! R8 g5 ~& S/ ?, C# D  g( r4 J5 z7 K. ^: j
原帖由 jmhqlw 于 2009-2-5 17:55 发表 ) P4 [) m  v" l
终于OK了 ,楼主太谢谢了!不介意的话,我想把楼主的这项成果转到其他的论坛上?其实昨晚未经楼主同意,我已经转发了一次
回复 支持 反对

使用道具 举报

发表于 2009-2-6 23:15 | 显示全部楼层
楼主,我碰到了上面那位仁兄一样的问题,也是6的DESKTOP,
+ H# [- _3 t, {注册也注了,也下了你新的那个RAR文件,还是没用* I- q1 N1 A8 t. O/ V
报错都和楼上的那位一样,我报错时显示的行是:39,其他同楼上报错时的图片.
; H$ t7 W, `0 g  T# C4 m
( ~/ N7 i. J: G/ K5 k但中间有一次导出了4个名字来在OUTPUT文件夹里,再点就是文件已经存在,把那四个删掉再点又是报错, 不能成功.... G2 p" N, i  v6 y' M% @% g1 D1 e+ t! x
5 D2 @6 r9 R" @3 T
[ 本帖最后由 neilfan 于 2009-2-6 23:19 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-7 15:18 | 显示全部楼层
你贴一个你的VCARD内容看看* w3 h9 b. q1 @, i
从BEGIN:VCARD开始到END:VCARD, l+ S# n: ^- e0 k" o$ L/ f& G

' [# D7 O" T+ \' u/ r" R3 j( zBEGIN:VCARD
. ^5 c4 n1 j- P1 W$ G# s5 r  j...
; L- P& Z5 t, u( _% M0 L  e...
; D- N% v, [7 l! h# kEND:VCARD
回复 支持 反对

使用道具 举报

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

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

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

使用道具 举报

 楼主| 发表于 2009-2-9 15:50 | 显示全部楼层
肯定是因为你的VCARD文件里没有  FN:  开头的这一行+ Y* E4 E. I* Z' m- A
: N( [" e) I, o( M# p! |$ s. z
BEGIN:VCARD9 e0 R4 E8 ], Z% `+ G9 Y! |
VERSION:2.1
, T% ]: b- f  Z: \N:Palm Treo 6801 J8 w4 D& x: N2 g% [; ^
FN:Palm Treo 680
* m# }. v/ s: E7 mTitle:RED
0 i1 L8 A3 W/ z' gORG:Palm
1 {/ O8 i7 p+ p4 l( c9 N; G, _* fTEL;CELL:138111111116 i8 [, I3 L. s' V
END:VCARD
' H: J8 P; ^3 y8 y" i
4 L: _0 q) H4 e4 M我使用 FN: 开头的这一行作为文件名的,要是没有这一行,默认就是tmp.vcf. w  T* U2 j) |" ^1 q5 T

) ~/ r  O1 [8 E" ]+ ^6 m! M你需要确认一下你的VCARD文件里有没有FN:或者N:开头的行,有的话用下面这两个脚本就可以了。
. ^; F( @- F/ d& P$ k/ ~9 H& T4 D% w# t4 Y3 C/ G
附件里+ D* V+ U5 o$ x' k+ j
total_vcf_2_sep_vcf_FN.vbs  是以FN:那一行为文件名
( w! X# b, Z# C: B$ c  ]: k, `$ f) ^8 W7 C" O# @
total_vcf_2_sep_vcf_N.vbs    是以N:那一行为文件名
8 Q7 r' N) ]( g% w2 u9 n
1 Z8 m/ @4 ]: H$ U" f$ l) ~% |把VBS文件复制到Palm_Vcf_Split文件夹内直接执行就可以了/ v1 H7 B; Z9 }" ^% n3 ?, z7 t
2 x6 {! f: s0 ]. G

+ j" ~- h1 B# T4 q# V3 J; T3 W& ?6 k6 F* x/ p: L
  L/ s, J: h; p1 G+ F# g& ^
原帖由 adp666 于 2009-2-9 12:14 发表
$ g( E# T! T! M% N  {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已经写过了。下面是链接:6 s% O  g. Y0 ~& C2 y5 A* d
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%B80 i( N7 y( {, B* |& F) g7 n
* D1 R6 X7 E- `* r4 N; A0 E
本人是palm PDA的老胖,N年前用过这个软件,非常好用。关键是从palm导出的联系人的栏位和outlook通讯录对应得非常好。比通过excel另存为csv文件导入好的多。实现了所有手机联系人互相之间的完美转换。
- G6 W# q' V) s, P
( A/ j* [9 m4 P2 d/ ^这个软件不仅有拆分功能,还有合并功能,很是实用。, v6 D* B+ N/ M$ m" P

- ^5 \$ k3 v+ j: s几点说明:
! @5 B! _6 H9 T$ g9 b  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
4 s4 \: @1 w. r( ~; [0 X: z2.在palm desktop中选中全部联系人,导出为一个vcf文件(取名随意的),将整合了联系人vcf文件放入到“合并了的联系人”目录。然后双击“拆分.bat”就行了,拆分的结果就在“拆分了联系人”目录。要将拆分的许多vcf文件导入outlook中,只要全部选中后拖入outlook通讯簿窗口就可以了,不必逐条导入。
. X( f, J  h$ `! I3.反过来如果要整合很多单个的vcf文件,比如导入到palm desktop,那么就把很多单个的vcf文件放入到拆分了的“联系人目录”,然后运行“合并.bat”,就行了,合并的结果就在“合并了的联系人”目录。6 |& g$ z3 l' J' t4 m

  F1 f" z$ \/ @下面是tonywoo的软件。
/ X& S( \; v9 n! f& o+ W$ R3 ]7 ^# k9 {0 [, L
[ 本帖最后由 shinyw 于 2009-2-21 11:13 编辑 ]

联系人工具.rar

3.28 KB, 下载次数: 1721

回复 支持 反对

使用道具 举报

发表于 2009-2-21 17:41 | 显示全部楼层
超级好的东西哎!: }/ ?+ V! `: f; x* S# P
谢谢LZ!
0 x4 u% T8 R+ O- A真的太实用了!
% t8 \, {; }( K- Q; q' Y; x就是这个小东西让我来到了这个论坛!! o- X& Q& A( r
感谢!
回复 支持 反对

使用道具 举报

发表于 2009-2-21 21:01 | 显示全部楼层
刚刚实验了下,LZ的程序(包含19F)以及21F提供的程序对我得VCF文件似乎都无效。
& H' g/ H' N& p5 }$ Q. h5 Z! D5 \我看了下,好像是VCF格式的内部格式也有区别的。
, Y" S9 G: }! p' u# R& @8 z我的文件是SONY 的UIQ3.0版导出的,对于姓名的格式好像不大相同,我的VCF内容:/ W, l1 F6 `9 S2 k5 F

6 A! y7 Y8 Z" UBEGIN:VCARD
! z1 w$ `  V/ _1 PVERSION:2.1* j6 |* Y) [# c/ Z, a8 ~: O: Q, e" c
REV:20070904T150556Z
1 L) m: M0 O8 g6 F) H1 J; `UID:22e21bd3a229e7d8-00e11703af785fe0-775$ _' g5 H$ Y, A9 J" U5 V8 J4 x
N;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:;=E7=88=B8=E7=88=B8;;;! B# [( y; t2 i
TEL;CELL:13805140000
* w' e% f3 `) C+ p: \: wEND:VCARD
; e; D3 m3 R9 P# m+ f- d2 \/ \+ \# ?9 m+ F6 b. p! P
2 r6 \3 x0 d' Q! S: L- t- {/ T1 J0 y
想请教下应该怎么改程序才能正确拆分呢?谢谢!: c. ~8 a3 J7 ~- f5 A$ F6 g
  b) o; W! Q5 h( w# K4 k7 }
[ 本帖最后由 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手机的格式问题了  B0 ^$ \) E0 ^
只有用专用的浏览工具显示才正常& R1 r  D, @3 W5 f7 B4 H
导出的VCF好像在Outlook里导入也有些不正常
! R: E( l+ b+ W+ i( v不知道LZ看了我上面的源码有没有什么拆分解决的方案啊?
, c+ X0 ]6 {, @6 F1 e谢谢!
回复 支持 反对

使用道具 举报

发表于 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:25 , Processed in 0.397544 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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