web-dev-qa-db-ja.com

Spotlightはメタデータインデックスをどこに保存しますか?

Mac OS Xは、ファイルに関連付けられたSpotlightコメントをどこに保存しますか? HFS +ファイルのメタデータとして保存されていますか、それともOSによって別の場所に情報が保持されていますか?

7
Lorin Hochstein

メタデータは非表示の.Spotlight-V100インデックス付きボリュームのルートにあるフォルダ。

7
John T

_/.Spotlight-V100/_などのメタデータストアディレクトリに格納されるkMDItemFinderComment属性の値は、_com.Apple.metadata:kMDItemFinderComment_拡張属性によって異なります。

Finderは、すべてのアイテムのSpotlightコメントを_.DS_Store_ファイルのフォルダーに保存します。

Spotlightコメントはmdlsまたはxattrで印刷できます。

_mdls -n kMDItemFinderComment test.txt_

xattr -p com.Apple.metadata:kMDItemFinderComment file.txt | xxd -r -p | plutil -convert xml1 -o - - | Ruby -rcgi -e 'puts CGI.unescapeHTML(STDIN.read.scan(/<string>(.*)<\/string>/m)[0][0])'

Finderを使用して書き込み権限のないファイル(_/Applications/_の一部のアプリケーションバンドルなど)にSpotlightコメントを追加すると、コメントは拡張属性として保存されず、保存されません。 Spotlightにピックアップされます。 Finderをスーパーユーザーとして開くか、_Sudo xattr -w_を使用できます。

フォルダから_.DS_Store_ファイルを削除し、Finderを終了して再度開くと、フォルダ内のすべてのファイルのSpotlightコメントがFinderの情報ウィンドウに表示されなくなります。 Spotlightコメントの拡張属性がまだある場合でも、コメントはSpotlightに表示されます。

xattrを使用して_com.Apple.metadata:kMDItemFinderComment_拡張属性を追加すると、コメントはSpotligtによって取得されますが、Finderの情報ウィンドウには表示されません。

_xattr -w com.Apple.metadata:kMDItemFinderComment comment file.txt_

AppleScriptを使用してファイルのcomment属性を変更すると、コメントも_.DS_Store_ファイルに保存され、Finderに表示されます。

osascript -e 'on run {f, c}' -e 'tell app "Finder" to set comment of (POSIX file f as alias) to c' -e end file.txt comment

(相対パスがエイリアスに変換されると、10.8で_CFURLGetFSRef was passed this URL which has no scheme_のような警告が表示されますが、無視してかまいません。)

5
Lri

ファイルのスポットライトコメントを編集しようとしている場合は、ファイルの[情報の取得](コマンド+ I)ウィンドウでコメントを表示/変更できます。

0
Kaji