Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Automator-Spezialist gesucht

Automator-Spezialist gesucht

Cleanart03.04.0915:43
Das Thema bringt mich noch um! Es sieht immer alles so nett aus, aber ich habe mit dem Tool noch nie was zuwege gebracht.

Jetzt hätte ich einen Superjob dafür: aus einer missglückten Datenrettung meiner Fotos sind über 5000 Bilder in jeweils einem Ordner gelandet. Aus diesen 5000 Ordnern möchte ich die Bilder in einen einzigen Ordner verschieben. Geht das mit Automator?

Gedachte Lösung: Geh zum ersten Ordner, mach ihn auf, markiere das darin befindliche Foto, verschiebe es in Ordner "Alles hierein", gehe aus dem Ordner eine Ebene höher, lösche den eben bearbeiteten Ordner und wieder von vorn.

Das müsste doch ein Paradejob für Automator sein. Gescheitert bin ich immer, wenn ich versucht habe, einen relativen Verweis zu finden. Also nicht "Geh zum Ordner XY, guck da rein und mach..." sondern "Geh zum ersten Ordner, öffne ihn, mach was, geh raus, lösche ersten Ordner, geh zum ersten Ordner..." u.s.w.

Wer kann/will helfen??
0

Kommentare

jogoto03.04.0916:00
Falls es mit Automator nicht gehen sollte, nimm GraphicConverter.
Mehrfachkonvertierung kopieren
Da kannst Du Unterordner mit einbeziehen.
0
hst03.04.0916:33
Mit Automator direkt wird es nicht funktionieren.
Hingegen mit Applescripteditor lässt sich die Aufgabenstellung gut bewerkstelligen:
Lese Count von Folder XY, laufe einen Loop durch mit entsprechenden Aktionen usw.
0
bestbernie03.04.0917:22
Mach doch eine Suche in übergeordneten Ordner, und die gefundenen Bilder ziehst du dann in den Ordner deiner Wahl
0
_mäuschen
_mäuschen03.04.0917:32

Lege die x Ordner auf den Schreibtsich.
Daneben aber gar nichts anderes.

Dann lass diesen AppleScript laufen.
(Ev. noch extension an Dateiendung anpassen)

set extension to "jpg"
set f to {}
set h to path to "desk"

tell application "Finder"
    set d to every folder of folder h

    repeat with i in d
        set a to (every file whose name extension is extension) of i
        copy a to end of f
    end repeat

    set pa to path to "cusr"
    try
        make new folder at pa with properties {name:"moved"} -- wennn nicht existent
    end try
    set pa to (pa as string) & "moved" -- Ordner im Benutzer Heimverzeichnis
    
    repeat with mf in f
        move mf to pa
    end repeat
    
    repeat with i in d
        move i to trash
    end repeat
end tell


0
Hühnchen
Hühnchen03.04.0917:38
_mäuschen
Bin beeindruckt , Aber ich hätte es jetzt auch ála bestbernie gemacht. einfach und versteht jeder. (Es sei denn ich hätte die Fotos schon in Lightroom, damit ginge es halt auch )
0
_mäuschen
_mäuschen03.04.0917:56
Suche in übergeordneten Ordner

?


0
jse03.04.0918:01
Das ist doch mit einem Einzeiler im Terminal gemacht. Warum so kompliziert?

1.) Terminal aufmachen
2.) cd und ein Leerzeichen tippen
3.) dann den Ordner, der alle Unterordner mit den Fotos enthält, im Terminal per Drag&Drop fallen lassen
4.) Enter

nun den Einzeiler eintippen
> find . -type f -exec cp "{}" "PFAD ZUM ZIELORDNER" \;

Der Pfad zum Zielordner sollte nicht in dem Ordner liegen, der die Unterordner mit den Fotos enthält.
0
_mäuschen
_mäuschen03.04.0918:15

jse,

Wenn schon, dann mit zusätzlich
-name '*.jpg'
und warum kopieren?
-exec mv

und die nun leeren Ordner sind ja auch noch nicht im Papierkorb.


Und wenn es Leerstellen in den Dateinamen hat? Was dann?


0
jse03.04.0918:23
Das .jpg hab ich weggelassen, weil er nicht geschrieben hat, was er für Bilder hat. Das müssen ja nicht unbedingt Jpegs sein, oder die enden auf .JPG oder jpeg, oder was weiss ich. Deshalb alle Files.

Kopieren, weil man damit die geretteten Originale unangetastet lässt. Zum Schluss, wenn alles geklappt hat, dann zieht man einfach den übergeordneten Ordner mit den vielen Unterordnern in den Papierkorb und fertig.

Die Leerstellen im Pfadnamen sind doch schon gequoted mit "" (was fürn denglisch ).
0
_mäuschen
_mäuschen03.04.0918:25

Oh je, ich hab's versucht mit
for f in `find . -name '*.jpg' ; do mv "$f" "Zielordner"; done
und bin über die Leerzeichen gestolpert.


0
jse03.04.0918:38
Na ist doch klar warum:

Die Shell substituiert `command` mit der Ausgabe von command. Da werden alle Jpegs inkl. Pfad ausgegeben, allerdings ohne Quotes. Wenn nun irgendwo im Pfad ein Leerzeichen ist, dann ist das fürs for ein Separator. Deshalb gehts nicht.
0
Hühnchen
Hühnchen03.04.0919:19
jse & _mäuschen
Das ist doch mit einem Einzeiler im Terminal gemacht. Warum so kompliziert?
Ja nee, iss klar, alles viel einfacher so und nach ner halben Stunde hat man es dann schon, vorausgesetzt man schreckt nicht vorm Terminal zurück also da finde ich doch, dass man sich F leichter merken kann
0
Rantanplan
Rantanplan03.04.0919:31
Hühnchen

Doch, doch, es geht mit dem Einzeiler wirklich sehr schnell und man braucht auch keine halbe Stunde dafür. Vorausgesetzt, man ist kein typischer Mac-User. Also Mausschubser Für jemanden der die Shell oft benutzt, ist dieser Einzeiler die völlig natürliche Lösung.

Über den Fehler mit den Leerzeichen stolpert man normalerweise auch nur einmal und danach nie wieder. Ist halt alles Erfahrungssache. Einmal auf die Nase gefallen, danach weiß man was man vermeiden sollte

Was ich eigentlich sagen wollte: jeder hat eine andere Lösung, die für ihn "natürlich" ist. Wer in der Shell rumturnt nimmt die Einzelerlösung, wer geübter AppleScripter ist, der nimmt die und wer nur Bediener ist nimmt den Finder

Ich hätte auch die Shell genommen
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Cleanart04.04.0900:18
Das isses bzw. das wares !! Begeisterung und ein großes DANKE an die Runde, speziell natürlich an jse. Nach einer knappen halben Stunde hatte ich 11000 Bilder im neuen Ordner. (Ich hatte anfänglich wohl ein paar Ordner übersehen) Im Terminal geht es wirklich turbomäßig zu Sache!

Morgen probier ich - just for fun - mal, ob ich mit AppleScript auch klarkomme.

Nochmals bedankt!

jse
Das ist doch mit einem Einzeiler im Terminal gemacht. Warum so kompliziert?

1.) Terminal aufmachen
2.) cd und ein Leerzeichen tippen
3.) dann den Ordner, der alle Unterordner mit den Fotos enthält, im Terminal per Drag&Drop fallen lassen
4.) Enter

nun den Einzeiler eintippen
> find . -type f -exec cp "{}" "PFAD ZUM ZIELORDNER" ;

Der Pfad zum Zielordner sollte nicht in dem Ordner liegen, der die Unterordner mit den Fotos enthält.

0
_mäuschen
_mäuschen04.04.0911:05

Just for fun

Leicht abgeänderter AS

set extension to "jpg"
set f to {}
tell application "Finder"
    set h to choose folder with prompt "Wo befinden sich die Daten?" without invisibles
    set d to every folder of folder h
    repeat with i in d
        set a to (every file whose name extension is extension) of i
        copy a to end of f
    end repeat
    repeat
        set pa to choose folder with prompt ("Wohin sollen die Daten?
    Nicht innerhalb des Ordners " & h as string) & "
    !!!" without invisibles
        if (pa as string) contains (h as string) then
            display dialog "Wähle einen anderen Ordner ausserhalb
        " & h as string
        else
            exit repeat
        end if
    end repeat
    repeat with mf in f
        move mf to pa
    end repeat
    repeat with i in d
        move i to trash
    end repeat
end tell


0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.