Я прошу прощения за задержку с ответом. Это было сложнее, чем я ожидал.
Но можно достичь того, чего вы хотите, создав службу в Automator, которая затем станет доступна с помощью сочетания клавиш (горячие клавиши).
Вам нужно будет следовать этому руководству по созданию общесистемного сервиса.
Начните с создания нового сервиса в Automator. Он должен будет получать файлы или папки в качестве входных данных и быть доступным в Finder.
Добавьте действие « Выполнить AppleScript» в рабочий процесс. В текстовой области этого действия можно скопировать и вставить следующий AppleScript:
use Finder : application "Finder"
property F_ : missing value -- The previous folder
property f : missing value -- The files that we moved
property home : Finder's home as alias
on run {f, _}
get its ParentFolderOf:(some item in f)
set there to the result -- The destination folder, one level up
-- We won't navigate any higher up the folder tree than
-- the home folder
if (its ParentFolderOf:home) is in there then return
-- Also don't apply this service to other folders that aren't
-- in the same branch of the folder tree as the home folder
if (there as text) does not begin with (home as text) then return
-- The folder we're currently at
tell Finder to set F_ to ¬
(the container of some item in f) as alias
-- Check to ensure there are no files in the destination folder
-- that risk being overwritten. If there are, we won't move
-- the files who share the same name, i.e. only move those that
-- are safe to move.
tell Finder to ¬
repeat with _g in f
get name of _g
set g to [there as text, result] as text
if not (g exists) then set end of f to _g
set f to the rest of f
end repeat
-- Move the files
tell Finder ¬
to set f ¬
to (move f to there) ¬
as list as alias list
-- Reveal them
reveal f
activate Finder
end run
to ParentFolderOf:(f as alias)
local f
set F_ to [f, "::"] as text as alias
if (f as text) ends with ":" then return F_
return its ParentFolderOf:F_
end ParentFolderOf:
Сохраните сервис как хотите. Automator автоматически сохраняет его в нужном месте (~/Library/Services). Я сохранил мой как "Подняться в Finder".
Далее вам нужно создать сочетание клавиш. Это делается через Системные настройки:
Под списком служб вам нужно прокрутить вниз до раздела « Файлы и папки», в котором должно отображаться название вашей службы. Вы можете увидеть мои выделены. Я создал ярлык ⌃ ▲ для себя (Ctrl+Up).
Теперь, каждый раз, когда я выбираю файлы и / или папки в Finder и нажимаю ⌃ ▲, эти файлы и папки поднимаются на один уровень вверх по иерархии в их родительскую папку. Если я хочу переместить их назад, я могу нажать ⌘ Z, чтобы отменить перемещение.
Я добавил защиту, чтобы файлы и папки не перемещались выше дерева папок, чем ваша домашняя папка. Вряд ли вам это понадобится.