是否有一个命令行实用程序,我可以向其传递一个文件名,然后它会返回该文件适用的 UTI?
例如:
hypothetical-uti-fetcher /Library/Desktop\ Pictures/Aqua\ Blue.jpg
可能会给我:
public.jpeg
public.image
public.data
答案1
您可以使用以下mdls
命令查找文件的 UTI:
mdls /Library/Desktop\ Pictures/Aqua\ Blue.jpg
它会给你一堆信息,在顶部它会显示类似
kMDItemContentType = "public.plain-text"
希望这可以帮助!
答案2
mdls 命令似乎只适用于 Spotlight 索引文件。如果您在已安装的磁盘映像、CD 或 U 盘上运行该命令,它可能根本不会返回任何信息。
当您开发 Quicklook 插件时,使用以下命令查看 Quicklook 认为文件具有哪些 UTI 以及它用于预览的插件也很有用:
qlmanage -d 4 -p /path/to/file
答案3
即使 Spotlight 尚未索引该文件,您仍然可以使用 mdls 来查找 UTI:
mdls -name kMDItemContentType /path/to/file
答案4
您可以创建一个工作流程来从选定的文件中获取 UTI。
on run {input, parameters}
tell application "System Events"
set ff to item 1 of input
set uti to type identifier of ff
set ans to display dialog uti buttons {"Copy to Clipboard", "OK"} default button "Copy to Clipboard"
if button returned of ans is "Copy to Clipboard" then
set the clipboard to uti
end if
end tell
end run