Przepraszam za opóźnienie w otrzymaniu odpowiedzi. To było trudniejsze niż się spodziewałem.
Ale można osiągnąć to, co chcesz, tworząc usługę w Automatorze , która stanie się dostępna za pomocą skrótu klawiaturowego (skrótu).
Musisz postępować zgodnie z tym przewodnikiem na temat świadczenia usługi ogólnosystemowej .
Zacznij od utworzenia nowej usługi w Automatorze . Będzie musiał odebrać pliki lub foldery jako dane wejściowe i zostać udostępniony w Finderze .
Dodaj akcję Uruchom AppleScript do przepływu pracy. W obszarze tekstowym tej akcji można skopiować i wkleić następujący 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:
Zapisz usługę, jak tylko chcesz. Automator automatycznie zapisuje go we właściwej lokalizacji ( ~ / Library / Services ). Uratowałem mój jako „Ascend in Finder” .
Następnie musisz utworzyć skrót klawiaturowy. Odbywa się to za pomocą Preferencji systemowych :
Pod listą usług musisz przewinąć w dół do sekcji oznaczonej Pliki i foldery , pod którą powinna pojawić się nazwa Twojej usługi. Możesz zobaczyć moje wyróżnione. Utworzyłem skrót ⌃▲do mojego ( Ctrl + Up ).
Teraz za każdym razem, gdy wybieram pliki i / lub foldery w Finderze i naciskam ⌃▲, te pliki i foldery przechodzą o jeden poziom wyżej w hierarchii do ich folderu nadrzędnego. Jeśli chcę je przenieść z powrotem, mogę nacisnąć, ⌘Zaby cofnąć ruch.
Włożyłem zabezpieczenie, aby pliki i foldery nie były przenoszone wyżej w górę drzewa folderów niż folder domowy. W każdym razie jest mało prawdopodobne.