Spotlight 将其元数据索引存储在哪里?

Spotlight 将其元数据索引存储在哪里?

Mac OS X 将与文件关联的 Spotlight 评论存储在哪里?它是作为 HFS+ 文件元数据存储的,还是操作系统将信息保存在其他地方?

答案1

元数据位于.Spotlight-V100索引卷根目录下的隐藏文件夹内。

答案2

kMDItemFinderComment存储在元数据存储目录中的属性值/.Spotlight-V100/取决于com.apple.metadata:kMDItemFinderComment扩展属性。

Finder 还将文件夹中所有项目的 Spotlight 注释存储在文件中.DS_Store

mdls您可以使用或打印 Spotlight 评论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

CFURLGetFSRef was passed this URL which has no scheme(当相对路径转换为别名时会出现与 10.8 类似的警告,但您可以忽略它。)

答案3

如果您尝试编辑文件上的焦点评论,您可以在文件的获取信息(command + I)窗口下查看/修改它们。

相关内容