いちばんやっかいなお気に入りとメールについて。なんか前にも書いたような気がしないでもないけど。
※ 調べたのがいつかも忘れたので 2007-07 現在の状況と合っていない可能性もあります。ご注意ください。
以下はある程度データの将来性を考えていた人には無縁の話です。何も考えずに Classic OS で安穏と過ごしてきた人、またはそいつらの面倒を見なきゃならない管理者の方々には多少参考になるかもしれません。
移行先としては OSX を考えていますが、Firefox や Thunderbird などのアプリへの移行ができてしまえば、このデータは Windows にも Linux にも持って行くことができます。
ブックマーク
MacIE のお気に入りは Windows 版とは違い、Favorites.html という名前で保存されている。(いわゆる Netscape 方式なんて言うとトシがバレますかそうですか。)
で、これを取り込むには
- 初期設定の中の IE の Favorites.html を探し出して
- Firefox(Camino) では移行ツールを使って
- Safari では隠しメニューの Debug メニューを使って
取り込む。
Safari での Debug メニューは隠しメニューなので、例えば移行する機械が大量にあって面倒くさいという場合は1台取り込み用の機械を用意して、その Safari で取り込んで、できあがった Bookmarks.plist を丸ごとガバッとコピーするっていう方法でもよいと思う。
iCab もたぶんイケるんじゃないかな。
メール
Thunderbird への移行を基本としています。
Netscape や Mozilla 系から
Netscape や Mozilla 系のアプリを使っている場合は基本的にほとんどそのまま移行できる。
統合アプリからスタンドアロンアプリへの移行はそのままではできないので、必要なデータを別々にコピーしてやる必要がある。ただしこれは意外に面倒というか、パスワードの情報まで含めて全部一気に持って行くのは難しいと思う。
ただまぁ変換作業は基本的に不要なので、必要なファイルの在処を突き止めてコピーするだけでよいはず。
Outlook Express から
これはいちばんハードルが高い。ズバリ言うと、Classic 環境の動く PPC Mac の OSX マシンがないと移行できない。はず1。
Outlook Express のデータをインポートできるフリーのツールは OSX 標準の Mail.app しかないです2。少なくとも Thunderbird では取り込めません。
そこで多少トリッキーですが、いったん OSX 標準の Mail で取り込みます。これは非常に多くのメールソフトに対応しています。ただし、AppleScript で Classic アプリと通信しながら取り込みを行うので、Classic アプリが立ち上がる、要するに Classic 環境のある PPC Mac でしかこの方法は使えません。
ではその方法は、
- 取り込み用の機械に OE のデータを持ってくる
- Documents/Microsoft ユーザーデータ/ユーザー/ 以下にユーザーごとにフォルダができるんでその中へ
で。Mail.app への取り込みは恐らく難しいことはないと思います。Mail.app をそのまま使う人はそれでオーケーです。
問題は Thunderbird など他のアプリへ移行する場合ですが、メールデータを mbox 形式で書き出さないといけません。これは
- フォルダ単位に
- メールを全選択して
- [ ファイル ] → [ 別名で保存 ] で 「メッセージソース」形式で保存
します。これで添付ファイルも含めて mbox 形式で保存できます。(どうして素直に mbox 形式と書いてくれないのだろう。)
あとはこれを移行先のソフトのメールボックスの場所に持って行くだけです。
アドレス帳
これも Outlook Express から Thunderbird への移行を基本とします。中継地点として OSX 標準の AddressBook を使います。
- AppleScript を使って OE から取得する機能があるので、メールと同じ要領で取り込み
- これを vCard で書き出し
- vCard to CSV Converter とか使って CSV や LDIF に変換
- これを Thunderbird のアドレス帳などで取り込む
ただし注意しないといけないのは
- OSX版 Thunderbird のアドレス帳は UTF-8 でないといけないのに、どうも変換後のデータは SJIS になっている
- 姓名のそれぞれのデータから生成される表示名が「欧米か!」なので、この順番をひっくり返さないといけない
つーことでこんなスクリプトを用意して場当たり的に対処。
#! /usr/bin/ruby -Ku
#
# UTF-8 に変換
# 3列目に入っている表示名を姓名ひっくり返す
#
require 'nkf'
while ( line = gets )
line = NKF.nkf( '-w', line )
cols = line.split( /\t/ )
name = cols[2]
names = name.split( ' ' )
cols[2] = [names[1], names[0]].join( ' ' )
puts cols.join( "\t" )
end
チョー決め打ち。CSV という名前のはずのタブ区切りテキストを対象としています。使えそうならどうぞ。Tiger の Ruby 前提。
Windows 版の Thunderbird に取り込むなら SJIS のままでいいです! ちっくしょー。
つーかデータの将来性はちゃんと考えろ!