Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


apple-mac-os:macos-high-sierra:copy-smb-and-unc-network-paths-to-macos-high-sierra

Копирование сетевых путей SMB в macOS High Sierra

Многие пользователи 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

Обсуждение

Ваш комментарий:
 
apple-mac-os/macos-high-sierra/copy-smb-and-unc-network-paths-to-macos-high-sierra.txt · Последнее изменение: 29.10.2018 17:04 — Виталий Якоб

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki