Datei markieren und damit dann Ordner mit Namen erstellen...

AgentMax

MU Team
Thread Starter
Dabei seit
03.08.2005
Beiträge
54.478
Reaktionspunkte
13.897
... und dann auch noch die Datei hinein kopieren.

Gibt es da eventuell ein AppleScript?
Ich finde leider nichts.

Aufgabe:
Ca. 1.400 Dateien markieren
Für jede dieser Dateien wird ein Ordner erstellt mit dem Namen der Datei.
Die Datei wird in den passenden Ordner kopiert.

Hab schon bei A better finder rename geschaut, das hat eine solche Aktion aber nicht drin.
 
Zuletzt bearbeitet:
Nicht detailiert geschaut, aber hilft das hier evtl für den ersten Step?
stackoverflow.com/questions/11220379/applescript-create-new-folder-from-file-name-and-move-file-into-that-folder
 
Zuletzt bearbeitet von einem Moderator:
Nicht so wirklich. Keine Ahnung wie ich da vorgehen soll. Bei dem Script stürzt der Script Editor auch direkt ab.
 
Haben die Dateien alle die gleiche Dateierweiterung? Sind es nur die 1400 Dateien in dem Ordner oder sind da mehr Dateien? Soll der Ordner den ganzen Namen der Datei, also inklusive Dateierweiterung oder ohne haben?

Wenn nur die zu verschiebenden Dateien im Ordner sind, sollte es kein großes Problem sein es im Terminal mit einem einfachen Einzeiler zu lösen.
 
Danke. Habe die Lösung gefunden. Auf YouTube. Man mag es kaum glauben. Script lautet:
Code:
tell application "Finder"

    set selected to selection

    set current_folder to item 1 of selected

    set mlist to every file of current_folder

    set x to mlist

    repeat with i from 1 to the count of x

        set this_file to item i of x

        if i is not 1 then

            set previous_file to item (i - 1) of x

            set prev_ext to cur_ext

            set prev_name to new_name

        else

            set prev_name to ""

        end if

        set cur_ext to name extension of this_file

        set new_name to text 1 thru -((length of cur_ext) + 2) of (name of this_file as text)

        if new_name is not equal to prev_name then

            set new_folder to make new folder with properties {name:new_name} at current_folder

            move this_file to new_folder

        else

            move this_file to new_folder

        end if

    end repeat

end tell
 
Das verschiebt die Dateien aber. (du hattest kopiert verlangt) ;)

Code:
for f in *.mp4; do mkdir "${f%.mp4}"; mv "${f%.mp4}".* "${f%.mp4}"; done

Nimmt alle Dateien mit .mp4 als Dateiendung, erstellt jeweils einen Ordner mit dem Dateinamen und verschiebt dann alle Dateinamen.* (also beliebige aber existierende Dateiendung) in diesen Ordner. (Natürlich muss man mit "cd " vorher in den Ordner gewechselt haben.)
 
Zuletzt bearbeitet:
Ja. Ich meinte verschieben. Sorry für die falschen Ausdrucksweise.
 
Kein Problem, der Aufwand es von "kopieren" zu "verschieben" zu ändern ist minimal.
 
Und im Notfall kann man nach der Aktion ja nach ART sortieren (in Spaltendarstellung) und die Ursprungsdateien in einem Rutsch manuell löschen.
 
Zurück
Oben Unten