Applescript Aktuelle Datei in Ordner verschieben

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 ADANN folder Bin folder Averschiebt folder B.

Wie ziehe ich fileein folder A, folder Bohne folder Aauch einzuziehen?

Danke für die Antworten. Ich habe alle 3 Vorschläge ausprobiert, aber ohne Erfolg. Einige arbeiten im Automator mit Play-Taste. Sie scheitern jedoch als Abkürzungen. Der Finder-Bereich im oberen Navigationsbereich blinkt, als ob der Dienst ausgeführt wird, aber nichts passiert. Ich habe einen Screenshot von dem gemacht, was ich habe, bin mir aber nicht sicher, ob ich überhaupt ein Foto auf diese Seite hochladen kann. Das würde viele Worte ersparen...

Antworten (4)

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!

Eine Sekunde, ich weiß nicht, ob Sie den Beitrag von i falsch gelesen haben

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.

Ich habe die Folgefrage in Ihrer Antwort entfernt. Bitte stellen Sie eine neue Frage über den Link „Frage stellen“.
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