Значение "Where from" в Get Info файла

Приложение Hazel имеет это свойство "URL-адрес источника/адрес", который представляет собой ту же информацию, что и значение "Откуда" от "Получить информацию" в контекстном меню файла. Это фактический URL-адрес, откуда был загружен файл. (Хейзел не примет мою кредитную карту, поэтому мне нужно найти альтернативу).

Не могу опубликовать снимок экрана.

Кто-нибудь знает, как получить доступ к этому значению "Where from" через AppleScript (или automator или kayboard meastro)?Если Хейзел может это сделать, почему нельзя использовать AppleScript?

1 ответ

Вы можете использовать команду mdls для получения атрибутов метаданных файла. Ввод mdls filename.txt в терминале покажет вам все метаданные файлов. Используя -name вы можете указать -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",
 ""
)

В этом случае файл имеет два "where froms", один из которых является пустой строкой. Кто знает, почему это так. Другие файлы, которые я пробовал, имеют только один, у некоторых есть несколько 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

Вам придется разбирать выходные данные, но это не кажется слишком жестким.

licensed under cc by-sa 3.0 with attribution.