Многие наверное знают про этот простой фокус: если скопировать в Finder какие-нибудь объекты и клавишами command+V сделать вставку в текстовое поле, то вы получите список из имен скопированных ранее файлов и папок. Если же к именам вы хотите еще добавить пути к соответствующим объектам, достаточно открыть Automator и состряпать в нем несложную службу.
Вот так эта служба должна выглядеть в готовом виде:
Второе действие — Show Growl Notification — добавлять необязательно, но я предпочитаю четко понимать, когда «Автоматор» закончил свою работу, и уведомление Growl для меня наиболее удобный вариант.
Что до первого действия, то именно в ней вся соль. Сценарий AppleScript принимает в качестве входного массива данных те файлы и папки, которые должны быть выделены до обращения к службе. Обратите внимание на содержание шапки алгоритма: данная служба подключена только к Файндеру и команда вызова этой службы будет появляться в контекстном меню только для папок и/или файлов.
Полный код сценария AppleScript таков: repeat with anItem in theSelected set AppleScript's text item delimiters to return return input
on run
tell application "Finder"
copy selection to theSelected
set outputPathList to {}</p>
copy (POSIX path of (anItem as alias)) to end of outputPathList
end repeat
set outputString to outputPathList as string
set AppleScript's text item delimiters to ""
set the clipboard to outputString
set input to outputString
end tell
end run
Первая половина кода производит все действия, необходимые для перевода путей к объектам из формата «диск:папка1:папка2:…:папкаN:имя.расширение» в формат «/папка1/папка2/…/папкаN/имя.расширение» (второй формат — так называемый POSIX-формат записи «координат» объекта файловой системы). Вторая же часть кода формирует текстовый список — каждый путь к объекту будет располагаться на отдельной строке.
Конечно, два оператора, расположенных на 15 и 18 строках, можно и удалить. Однако я их оставил на тот случай, если из текущего действия Запустить AppleScript (Run AppleScript) полученный массив строк понадобится передать для дальнейшей обработке какому-нибудь другому действию.
Вставив этот код и добавив по желанию вызов сообщения Growl, сохраните службу под удобным для себя именем (например, Скопировать пути объектов). Сразу после этого можно перейти к Файндеру и, выделив несколько файлов и папок, щелкнуть на них правой кнопкой мыши — в контекстном меню, в разделе команд вызова служб, вы увидите свежий пункт. Нажав на него, вы скопируете пути к выделенным объектам. Останется только перейти к любой текстовой программе и клавишами command+V вставить готовый массив строк.
Лучшие предложения
Лучшие предложения недели: скидки от AliExpress, Lamoda, GATE31 и других магазинов
10 стеллажей, которые помогут навести порядок где угодно
Бомберы, косухи и ветровки: выбираем весеннюю куртку не дороже 5 000 рублей
Как подписка Газпром Бонус поможет отметить любой праздник и не разориться
Это нам надо: оригинальная картина по номерам от DelArt
Выгодно: смарт-часы Amazfit Cheetah Square за 19 031 рубль
Находки AliExpress: самые интересные и полезные товары
15 интересных товаров дешевле 500 рублей
Как привить детям любовь к здоровому образу жизни: 6 советов родителям
Социальная рекламаКак защитить близких от угроз в Сети: 7 шагов, которые можете предпринять лично вы
РекламаУвидеть Китай и не умереть! 4 причины посмотреть реалити «Сокровища императора»
РекламаЗатопленные корабли и не только: 6 проблем экологии, которые влияют на вашу жизнь больше, чем кажется
Социальная реклама