У меня была проблема с желанием получить дату, которая была доступна только в метаданных прожектора (дата создания содержимого файла изображения "kMDItemContentCreationDate" - я думаю, что это оригинальная дата с камеры).так что я придумал это;примечание: я использовал «копировать» и «рассказать» для моей собственной ясности / ОКД.есть принуждение «по дате» для «do shell script», но оно просто дало мне разные ошибки.есть также более простые и лучшие «awk», чтобы делать больше / лучше, но «- name» дает только одно значение mdls, которое вы запрашиваете.
(* получает значение mdls «metaDate», т.е.одна из многих доступных дат метаданных «qpImg» - это «указанная форма пути posix» некоторого файла, который awk сокращает до фактической строки даты / времени *)
tell current application to copy (do shell script ("mdls " & " -name " & metaDate & " " & qpImg & " | awk -F ' ' '/Date/ {print $3,$4};'")) to targDate
(* принимает mdlsИнформация указывается в форме "2012-01-19 14:37:38 -500" и делает ее яблочной подписью. "inText" - это путь posix, который на лету преобразуется в его "цитируемую форму". "% x% r"является «стандартной числовой» датой и 12-часовым временем и может быть приведен через «как дата» *)
tell current application to set formtdDate to do shell script "date -j -f '%Y-%m-%d %H:%M:%S' " & quoted form of inText & " +'%x %r'"
- оба могут быть объединены с использованием xargs
tell current application to copy (do shell script ("mdls -name " & metaDate & " " & qpImg & " | awk -F ' ' '{print $3,$4};' | xargs -0 -I indate date -j -f '%Y-%m-%d %H:%M:%S' indate +'%x %r'")) to targDate