Вы можете сделать это, создав Сервис с помощью Automator, который получает файлы и папки в качестве входных данных и доступен в Finder. Добавьте действие « Выполнить сценарий оболочки», который получает входные данные в качестве аргументов, и измените сценарий по умолчанию на тот ditto
вызов.
Когда вы делаете это таким образом, вы не контролируете, какой каталог является src
, а какой - target
.
Либо откройте Automator, создайте службу, которая получает выбранные папки в Finder, и добавьте действие « Выполнить AppleScript» со следующим кодом сценария:
on run {input, parameters}
set dest to choose folder with prompt "Select destination:"
set dest_path to (POSIX path of dest) as text
set src_paths to ""
repeat with idx from 1 to count (input)
set src_paths to src_paths & (quoted form of (POSIX path of item idx of input as text)) & " "
end repeat
set cmd to "ditto " & src_paths & quoted form of dest_path
do shell script cmd
end run
Что это делает: он будет принимать ваш выбор в Finder в качестве исходных папок, запрашивать папку назначения. а затем выполнить
ditto src1 src2 src3 srcn dest
Сохраните и назначьте сочетание клавиш в Системных настройках »Клавиатура» Сочетания клавиш »Службы. Найдите свою службу в категории "Файлы и папки" и нажмите ее справа. Затем вы можете нажать желаемый ярлык.