ファイル情報のコメントの移行

OS9まであった、ファイル>情報を見る>一般情報>コメントの内容を、OSX(10.4)の「spotlightコメント」に移行する方法を探しています。教えてくださいませ。

投稿日 2008/05/13 09:33

返信: 22

2008/05/19 14:54 Community User への返信

>"Users/nabe/Desktop/0000/08-0521.jpg"
先頭に「/」が抜けていましたね。"/Users/nabe/Desktop/0000/08-0521.jpg"としてください。
>sportLightコメントには文字化けした状態でコメントが残されています
上記コマンドだけではコメント自体は変換されません。変換結果がターミナルに表示されるだけです。(変な変換がされてしまうと戻せないかもしれないので、まずテストしてもらっています。私の環境ではOS9のコメントを作成できないもので。)うまくいきそうなら、コメントそのものを書き換えるようにスクリプト化します。

2008/05/19 15:11 Community User への返信

nabe:‾ nabe$ osascript -e 'tell application "Finder" to get comment of POSIX file "/Users/nabe/Desktop/0000/MIL55025.JPG"' | iconv -f utf-8 -t macroman | iconv -f sjis -t utf-8
対象ファイルは「MIL55025.JPG」です
ターミナルの返事?は以下の通りです
iconv: (stdin): cannot convert
iconv: (stdin): cannot convert
cnabe:‾ nabe$
の以下はファイルのコメントです。
os9
埼玉県秩父羊山公園芝桜2008.05.05
osx
çÈã åßíÅïÉóréRåˆâÄé≈ç˜2008.05.05

2008/05/19 15:43 Community User への返信

>iconv: (stdin): cannot convert
これが出るということは、コメントの文字列の一部がMacRomanではない文字になってしまっていると思われます。例えば、4文字目の空白に見える文字や16文字目の「^」が怪しい。
$ osascript -e 'tell application "Finder" to get comment of POSIX file "/Users/nabe/Desktop/0000/MIL55025.JPG"' | od -t x1
とすると、どう表示されますか?

2008/05/19 15:48 Community User への返信

0000000 63 c2 b8 45 60 61 cb 9c c2 a0 61 c2 b0 c3 9f 69
0000020 c2 b4 41 c2 b0 69 c2 a8 45 c2 b4 6f c2 b4 72 65
0000040 c2 b4 52 61 c2 b0 ef bc be 61 5e 41 c2 a8 65 c2
0000060 b4 e2 89 88 63 c2 b8 cb 9c 32 30 30 38 2e 30 35
0000100 2e 30 35 0a
0000104
nabe:‾ nabe$
以上でした。

2008/05/19 17:07 Community User への返信

ようやくわかりました。コメントの文字列は正規分解されたUTF-8(NFD)になっているのですね。私の示したコマンドは合成済みUTF-8(NFC)を変換するものなので、うまくいきません。NFDを扱う方法を調べてみます。(できるかどうかわかりません。期待はしないでください。)

2008/05/19 17:12 Community User への返信

ようやくわかりました。コメントの文字列は正規分解されたUTF-8(NFD)になっている(「ç」が「c」+「¸」のようになる)のですね。私の示したコマンドは合成済みUTF-8(NFC)を変換するものなので、うまくいきません。NFDを扱う方法を調べてみます。(できるかどうかわかりません。期待はしないでください。)

2008/05/20 08:37 Community User への返信

調べてみましたが、普通のNFDともちょっと違うようです。例えば最初の文字「ç」は、通常のNFDなら「U+0063 U+0327」(character "c" with combining cedilla)になるべきなのですが、この場合は「U+0063 U+00B8」(character "c" with cedilla)になっています。(UTF-8だとそれぞれ「63 cc a7」「63 c2 b8」。)
普通のNFDなら、「iconv -f utf-8-mac -t utf-8」とすることでNFCに変換できるのですが、このような分解がされているとおそらくiconvでは変換できないと思われます。以下のAppleの文書では、HFSで使われる文字コードは通常のNFDのようなので、これはComment Converterの問題なのかもしれません。
http://developer.apple.com/technotes/tn/tn1150table.html
引き続き調べていますが、ちょっと無理っぽいかも?

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

ファイル情報のコメントの移行

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。