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)窗口下查看/修改它们。