【问题标题】:"Where from" value in Get Info of a file获取文件信息中的“来自”值
【发布时间】:2014-11-03 21:53:29
【问题描述】:
Hazel 应用程序具有此属性“源 URL/地址”,该属性与文件上下文菜单中“获取信息”中的“来自”值的信息相同。这是下载文件的实际网址。 (Hazel 不接受我的信用卡,所以我必须另寻他法)。
这里不能发布截图,因为这里是新的。
有谁知道如何通过 AppleScript(或 automator 或 kayboard meastro)访问这个“从哪里来”值?如果 Hazel 能做到,为什么 AppleScript 不能?
【问题讨论】:
标签:
macos
bash
applescript
finder
【解决方案1】:
您可以使用mdls 命令获取文件的元数据属性。在终端中输入 mdls filename.txt 将显示文件的所有元数据。使用-name 选项,您可以指定所需的密钥。 “来自”元数据的键为 kMDItemWhereFroms,例如:
$ mdls -name kMDItemWhereFroms ~/Downloads/boop.gif
kMDItemWhereFroms = (
"http://25.media.tumblr.com/0dfb82efe15f409dd4b5c5e20835509a/tumblr_msv0ysmBIB1r3gb3zo1_400.gif",
""
)
您可以使用-raw 选项仅获取值:
$ mdls -name kMDItemWhereFroms -raw ~/Downloads/boop.gif
(
"http://25.media.tumblr.com/0dfb82efe15f409dd4b5c5e20835509a/tumblr_msv0ysmBIB1r3gb3zo1_400.gif",
""
)
在这种情况下,文件有两个“来自哪里”,其中一个是空字符串。谁知道这是为什么。我尝试过的其他文件只有一个,有些文件有多个 URL,这似乎是重定向的结果。没有此类元数据的文件将返回 (null),但它是可配置的——请阅读手册页。
要在 AppleScript 中使用它,您可以这样做:
set theFile to (choose file)
set thePath to quoted form of POSIX path of theFile
do shell script "mdls -name kMDItemWhereFroms -raw " & thePath
您必须解析输出,但这似乎并不难。