Многие пользователи macOS знают, что для копирования расположения до файла или каталога можно воспользоваться сочетанием клавиш: ⌥+⌘+C. Но работая в сети зачастую возникает необходимость копирования сетевых расположений, как SMB-путей для Linux/Mac-пользователей, так и UNC для Windows-пользователей. По умолчанию такой возможности macOS не имеет, но мы можем создать службу на Automator.app.
Создадим документ типа «Служба» для копирования SMB-пути:
Укажем, что служба получает «файлы и папки» в «Finder.app»
Первым шагом добавим «запустить Shell-скрипт». Тип Bash, передаём входные данные, как аргумент.
Добавим скрипт:
#!/bin/bash echo -n $(mount | grep "$(echo $1 | cut -d "/" -f 1-3)" | sed 's/^.*@\(.*\) on.*$/smb:\/\/\1/g') echo -n "/" echo $(echo $1| cut -d "/" -f 4-)
Вторым шагом добавим «Копировать в буфер обмена»
Сохраним службу и присвоим ей имя, например «Копировать SMB путь»
Для создания службы копирования UNC-пути продублируем созданную службу копирования SMB-пути и добавим шаг «Запустить Shell-скрипт» перед шагом «Копировать в буфер обмена». Тип Perl. Передаём входные данные в качестве аргумента.
Добавим скрипт:
#!/usr/bin/perl use utf8; for(@ARGV){ /\\/ ? s{\\}{/}g : s{smb:/|/}{\\}g; print $_ }
Сохраним службу и присвоим ей имя, например «Копировать UNC путь».
Для удобства использования можно назначить горячие клавиши вызова служб в Настройки → Клавиатура → Сочетания клавиш → Службы.
Проверено на следующих конфигурациях:
Версия клиентской ОС |
---|
Apple macOS High Sierra (10.13.4) |
Apple macOS Mojave (10.14) |
Автор первичной редакции:
Виталий Якоб
Время публикации: 28.05.2018 18:44