Ich möchte ein Skript erstellen, das die aktuelle Dateiauswahl übernimmt und in einen bereits vorhandenen Ordner verschiebt. Ich werde diesen Code dann für 9 weitere Ordner duplizieren und ihnen alle Tastaturkürzel zuweisen.
Meine Anwendung ist ziemlich spezifisch und leider muss ich den Finder verwenden, um Audio-Samples schnell zu überwachen, anstatt das Terminal. (Ich wühle mich durch Tausende von Audiobeispielen, lösche sie und sortiere sie in Unterordner).
Die Idee ist ganz einfach:
tell application "Finder"
move selection to alias "Users:Jordan:Desktop:0"
end tell
Dieser Code funktioniert; Anschließend verschiebt es jedoch den übergeordneten Ordner der Zieldatei in den Zielordner. Diese Aktion macht das Skript kontraproduktiv und nutzlos. Ich habe die gleiche Idee auch im Automator ohne Erfolg versucht. Ich habe lange Skripte erstellt, um zu versuchen, den Tell daran zu hindern, den Ordner ebenfalls zu verschieben, aber nichts hat funktioniert.
Es ist mir ein Rätsel, warum eine so einfache Funktion so fehlerhaft und schwierig sein kann und warum, egal wie viele Variablen ich verwende, um die Auswahl statisch zu machen, oder wie viele Bedingungen oder Verzögerungen ich hinzufüge, das Skript die Datei immer noch in folder A
DANN folder B
in folder A
verschiebt folder B
.
Wie ziehe ich file
ein folder A
, folder B
ohne folder A
auch einzuziehen?
Dies könnte ein bisschen wie ein Vorschlaghammer-Ansatz von Applescript sein, verglichen mit dem 'move'-Befehl von Automator, aber da das OP es so angeht ...
Um es als Automator-Dienst zu tun, ist es also einfach, es per Hotkey zu erreichen …
'Dienst empfängt ausgewählte 'Dateien oder Ordner' im 'Finder'.
on run {input, parameters}
tell application "Finder"
set selected_items to selection
set theFolder to ((((path to desktop folder) as text) & "test") as alias)
repeat with x in selected_items
move x to theFolder
end repeat
end tell
return input
end run
Eigentlich würde ich Automator verwenden.
Richten Sie einen Dienst ein und nennen Sie ihn wie Sie möchten.
Wählen Sie auf der Registerkarte „Aktionen“ „Dateien & Ordner“ aus. Dann doppelklicken/wählen Sie "Finder-Elemente verschieben".
Wählen Sie dann den Ort aus, an den die Elemente verschoben werden sollen. Speichern Sie es und Sie können es dann zu den benutzerdefinierten Tastaturkürzeln hinzufügen.
Gehen Sie dazu auf „Systemeinstellungen“ und wählen Sie unter „Tastatur“ „App-Verknüpfungen“ aus. Klicken Sie als Nächstes auf das „+“-Zeichen und fügen Sie den Namen hinzu, unter dem Ihre Automator-App gespeichert wurde.
Dann probiere es aus!
Ich weiß, das ist alt, aber ich mache das mit diesen wenigen Codezeilen:
tell application "Finder"
move selection to folder ((path to home folder as string) & "Dropbox:Folder 01")
end tell
Es funktioniert mit einzelnen und mehreren Dateien.
tell application "Finder"
repeat with thisFolder in (items of (get selection))
repeat with thisItem in (get items of thisFolder)
move thisItem to (POSIX file "/Users/Jordan/Desktop/0/")
end repeat
end repeat
end tell
Jed SuRReal Godwin