Как я могу сделать сочетание клавиш для команды ditto в OSX Finder?

775
sanchothefat

Название должно прояснить, что мне нужно, но, по сути, я бы хотел нажать команду + некоторую клавишу, чтобы настроить команду ditto для объединения файлов и папок, а не стирать и заменять их, например, команда + C / command + V делает.

Как вы относитесь к редактированию / просмотру команд клавиатуры и команд терминала, на которые они отображаются?

0

2 ответа на вопрос

2
Daniel Beck

Вы можете сделать это, создав Сервис с помощью Automator, который получает файлы и папки в качестве входных данных и доступен в Finder . Добавьте действие Run Shell Script, которое получает входные данные в качестве аргументов, и измените сценарий по умолчанию на dittoвызов.

Когда вы делаете это таким образом, вы не контролируете, какой каталог является src, а какой - target.


Либо откройте Automator, создайте службу, которая получает выбранные папки в Finder, и добавьте действие « Выполнить AppleScript» со следующим кодом сценария:

on run  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 

Сохраните и назначьте сочетание клавиш в Системные настройки »Клавиатура» Сочетания клавиш »Службы . Найдите свою службу в категории «Файлы и папки» и нажмите ее справа. Затем вы можете нажать желаемый ярлык.

Genius! Работает отлично, спасибо sanchothefat 13 лет назад 0
Из интереса есть ли способ использовать то, что находится в буфере копирования после нажатия клавиши + C? sanchothefat 13 лет назад 0
@sanchothefat Если вы имеете в виду путь к файлу, скопированный в Finder, используйте `POSIX path of (буфер обмена как« class furl »)` `в AppleScript. Это работает только с одним путем, хотя. Daniel Beck 13 лет назад 0
@ Дэниел-Бек, я вижу. Спасибо за информацию и код sanchothefat 13 лет назад 0
@sanchothefat Вы можете использовать его вместо диалогового окна «Выбор места назначения». Вы сможете "скопировать" папку назначения, выбрать исходные папки и запустить службу. Порядок несколько отменен, но он может сработать для вас. Daniel Beck 13 лет назад 0
0
Sparrow1029

С одной поправкой к вышеупомянутому Applescript, а именно

"ditto -x -k " 

Вы можете изменить это, чтобы служба Finder распаковывала (извлекала) один или несколько файлов .zip в выбранную вами папку одним щелчком мыши.