Dateien sequentiell vom Ordnernamen mit Automator umbenennen

Ich habe zuvor nach dem Umbenennen von Dateien in einem Ordner gefragt ( Umbenennen von Dateien aus Ordnername mit Automator/AppleScript ), und jetzt habe ich einen Ordnerfluss, der fast funktioniert.

Ich habe in meinen Downloads einen Ordner mit dem Namen DOIT erstellt (gemäß Anhängen und Workflow-Screenshots). Ich lege dort einen Ordner mit dem Namen "Race Track 2019" ab, der einige zufällige Dateinamen enthält.

Was ich möchte, ist, die Dateien nacheinander vom Ordnernamen umzubenennen. Ich habe die Variable für den Ordnernamen funktioniert (gemäß Screenshots), aber die Dateien werden nicht umbenannt.

Ich wollte (in diesem Beispiel) zwei Dateien namens "Race Track 2019-1 und Race Track 2019-2" haben.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Antworten (2)

Verwenden von Automator für die Ordneraktion

Achten Sie im Bild Automator- Ordneraktion weiter unten in dieser Antwort auf die Automator- Aktionen und ihre Einstellungen. Insbesondere ist bei den für die Aktion „Wert der Variablen abrufen“ festgelegten Optionen [√] Eingabe dieser Aktion ignorieren aktiviert .

Die erste Aktion , Set Value of Variable , wird auf eine Filter Finder Items- Aktion gesetzt IncomingFolderund gefiltert , um nur den Ordner selbst zu erhalten, um ihn mit einer Run Shell Script- Aktion zu ermitteln und der Variablen im Set zuzuweisen Wert der variablen Aktion . nameFolderName

Es muss eine logische Unterbrechung zwischen dieser Aktion „Variablenwert festlegen“ und der darauffolgenden Aktion „Variablenwert abrufen geben, um dann die Ordner herauszufiltern, da die Dateien umbenannt werden, nicht die Ordner .

Das weiter unten in dieser Antwort gezeigte Bild zeigt die tatsächlich funktionierende Automator- Ordneraktion und warum es weder die Aktion Get Selected Finder Items noch ein grünes Häkchen gibt , da es im Hintergrund ausgeführt wird, wenn der Ordner Race Track 2019 in den Ordner abgelegt wird DOIT- Ordner.

In meinem Test:

Race Track 2019
├── cb4d4gdc.jpg
└── nn49494.jpg

Wurde:

Race Track 2019
├── Race Track 2019-1.jpg
└── Race Track 2019-2.jpg


Verwenden eines AppleScript-Skripts für die Ordneraktion

Hier ist ein weiterer Ansatz, der ein AppleScript- Skript für die Ordneraktion verwendet .

Einer der Vorteile besteht darin, dass mehrere Ordner gleichzeitig im Zielordner der Ordneraktion abgelegt werden können .

Speichern Sie mit dem Skript-Editor den AppleScript- Beispielcode unter ~ /Library/Scripts/Folder Action Scripts und verwenden Sie Folder Action Setup , um ihn dem Zielordner zuzuweisen .

Geben Sie hier die Bildbeschreibung ein

Beispiel AppleScript -Code :

on adding folder items to thisFolder after receiving theseNewItems
    tell application "Finder"
        repeat with thisItem in theseNewItems
            set thisItemsProperties to properties of thisItem
            if class of thisItemsProperties is folder then
                set folderName to name of thisItemsProperties
                set theseFiles to files of entire contents of thisItem
                repeat with i from 1 to count theseFiles
                    set name of item i of theseFiles to ¬
                        folderName & "-" & i & "." & ¬
                        name extension of item i of theseFiles
                end repeat
            end if
        end repeat
    end tell
end adding folder items to

Anmerkungen:

Der codierte Beispiel- AppleScript- Code geht davon aus, dass umzubenennende Dateien eine Erweiterung haben . Wenn Sie auf Dateien ohne die Erweiterung reagieren müssen , muss der AppleScript- Beispielcode geändert werden, um diese Bedingung zu berücksichtigen.



Screenshot der Automator-Ordneraktion

Hinweis: Diese Automator- Ordneraktion wurde entwickelt, um jeweils einen einzelnen Ordner zu empfangen!

Das Löschen mehrerer Ordner führt dazu, dass alle Dateien den Namen des ersten gelöschten Ordners haben !

Informationen zu mehreren Ordnern finden Sie unter: Verwenden eines AppleScript-Skripts für die Ordneraktion

Geben Sie hier die Bildbeschreibung ein



Als Automator Service/Quick Action für Finder

Wenn Sie möchten, dass Sie Ordner im Finder auswählen und die darin enthaltenen Dateien umbenennen können, erstellen Sie einen Automator- Dienst/eine Schnellaktion mit den Einstellungen, wie im Bild des Automator- Diensts/einer Schnellaktion unten gezeigt, und fügen Sie eine Aktion „AppleScript ausführen“ hinzu mit dem AppleScript - Beispielcode .

Beispiel AppleScript -Code :

on run {input, parameters}
    
    tell application "Finder"
        repeat with thisItem in input
            set folderName to name of thisItem
            set theseFiles to files of entire contents of thisItem
            repeat with i from 1 to count theseFiles
                set name of item i of theseFiles to ¬
                    folderName & "-" & i & "." & ¬
                    name extension of item i of theseFiles
            end repeat
        end repeat
    end tell
    
end run

Anmerkungen:

Der codierte Beispiel- AppleScript- Code geht davon aus, dass umzubenennende Dateien eine Erweiterung haben . Wenn Sie auf Dateien ohne die Erweiterung reagieren müssen , muss der AppleScript- Beispielcode geändert werden, um diese Bedingung zu berücksichtigen.

Geben Sie hier die Bildbeschreibung ein



Hinweis: Der Beispiel- AppleScript- Code ist genau das und enthält abgesehen von der enthaltenen Fehlerbehandlung keine zusätzliche Fehlerbehandlung , die angemessen sein könnte. Es liegt in der Verantwortung des Benutzers, eine Fehlerbehandlung hinzuzufügen, die angemessen, erforderlich oder gewünscht ist. Sehen Sie sich die try- Anweisung und die error- Anweisung im AppleScript Language Guide an . Siehe auch Arbeiten mit Fehlern . Zusätzlich kann die Verwendung des Verzögerungsbefehls gegebenenfalls zwischen Ereignissen erforderlich sein, z. B. mitdelay 0.5 dem Wert der Verzögerungpassend einstellen.

Vielen Dank, dass Sie sich die Zeit genommen haben, es zu erklären, AppleScript scheint für meine Verwendung besser zu sein, also werde ich das versuchen.

Lustige Tatsache – wenn Sie dies in Automator etwas falsch machen, können Sie am Ende jede Datei auf Ihrem Computer umbenennen. Ich habe es vielleicht mehr als nur ein bisschen falsch gemacht, aber (falls ich jemals die Neuinstallation meines Betriebssystems abschließe) glaube ich nicht, dass ich meine Theorie testen werde.

So wie es derzeit geschrieben steht, ist Ihre Antwort unklar. Bitte bearbeiten Sie, um zusätzliche Details hinzuzufügen, die anderen helfen zu verstehen, wie dies die gestellte Frage beantwortet. Weitere Informationen zum Verfassen guter Antworten finden Sie in der Hilfe .