• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Dateien mit einer bestimmten Extention mit AppleScript Suchen

TommyC

Gast
Hallo Comunity!

:-c
Wende mich an euch weil ich nicht mehr weiter weiß.
AppleScript ist eim mächtiges Werkzeug, ich leider noch am anfang
meines Weges. Vor einem Halben Jahr habe mir einen Mini zugelegt.
Nun mache ich die Ersten Erfahrungen mit AS. Habe Schon ein Script
fertig gestellt. Jetztz bin ich gescheitert.

o_O
Vorhaben:
Möchte alle Dateien eines Bestimmten Typs in eienen Anderen Ordner Verschieben.
mit dieser Aktion möchte ich alle PDFs JPGs MPGs in eigene Ordner Sortieren.
Im Quellordner befinden sich ca 50 Dateien und Archive, und es kommen ständig neue dazu. Dies sollte alle 5min. oder 10min. sich wiederholen.


Problem:
Suche der jeweiligen Dateitypen.

Frage:
Wie suche ich z.B. nach einer oder mehreren JPG Dateien um sie anschliessend zu verschieben?

Besten Dank im Voraus.

:cool:
Hier meine erste Entwicklung:
Das nur so am Rande.

Dieses Konstrukt erstellt Ordner für alle In der Schleife Befindlichen Obiekte.
tell application "Finder"
activate

-- Paremeter
set STARTORDNER to "MICKY160:++COVERS++"
set DASZIEL to choose folder with prompt "Ordner auswählen" default location alias STARTORDNER
set HALTSMAUL to "AN" -- (AN wird vergliechen, jeder andere Wert ist Falsch)
set BEEBTON to "AUS" -- (AN wird vergliechen, jeder andere Wert ist Falsch)

-- Initialisierung der Schleife zur Ordnerbildung
set DIRLIST to {"0-9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "THE"}
repeat with x in DIRLIST

-- Plasibilitätsprüfung der Existenz der Ordner aus Der Parameter Liste
if not (exists folder x in folder DASZIEL) then
-- prüfung der Beep Ausgabe
if BEEBTON is "AN" then
beep 1
end if
-- prüfung der Schprach Ausgabe
if HALTSMAUL is "AN" then
say "create " & x
end if
make new folder in folder DASZIEL with properties {name: x}
else
-- prüfung der Beep Ausgabe
if BEEBTON is "AN" then
beep 1
end if
-- prüfung der Schprach Ausgabe
if HALTSMAUL is "AN" then
say x & " exists"
end if
end if
end repeat
end tell
 

hubionmac

Tydemans Early Worcester
Registriert
25.06.04
Beiträge
393
Ich habe hier ein Script mal geschrieben, welches so etwas an Hand der Dateiendung durchführt... Nicht zum selber anstoßen sondern als Ordneraktion ab 10.3

das Script also nach /Library/Scripts/Folder Actions Scripts
kopieren und an einen Ordner entsprechend anhängen:

Code:
on adding folder items to derOrdner after receiving added_items
    
    -- die Liste kann man gut erweitern
    set endungmitordner to {".jpg;JPEGS", ".mov;Movies"}
    
    
    repeat with k in endungmitordner
        --damit kann man die Einträge aus der Liste gut in Ihre Bestandteile zerlegen
        --Ist auch super um in Strings Teile zu ersetzen =)
        set AppleScript's text item delimiters to ";"
        set endung to text item 1 of k
        set ordnername to text item 2 of k
        set AppleScript's text item delimiters to ""
        
        
        tell application "Finder"
            set inhalt to every item of derOrdner
            set itemcount to count of every item of inhalt
            -- wenn in dem Ordner nix drin ist, soll er auch nix machen... lohnt ja nicht
            if itemcount > 1 then
                repeat with aitem in inhalt
                    --Die Anzahl der Buchstabe einer definierten Endung... damit ich am Ende auch weiß ob ich nach
                    -- .tiff oder .mov suchen muss
                    set endcount to (-1 * (count of every character of endung))
                    
                    set itemname to name of aitem
                    
                    if (characters endcount through -1 of itemname) as text = endung then
                        --wenn es den ordner schon gibt den fehler ignorieren und weiter im Text
                        try
                            make folder at derOrdner with properties {name:ordnername}
                        end try
                        --wir basteln uns einen Alias zu einem Verzeichnis
                        set workingdir to ((derOrdner as string) & ordnername & ":") as alias
                        
                        --tja und dieser teil bewegt die Datei in den Ordner... und bennent sie um, sofern der
                        --Name bereits im Zielordner existiert
                        -- man könnte statt des counters auch die uhrzeit bzw. das datum nehmen...
                        -- oh ich neheme die Uhrzeit =).
                        try
                            move aitem to workingdir as alias
                        on error
                            set no_error to false
                            repeat until no_error = true
                                set counter to (time of (current date))
                                try
                                    set name of aitem to (counter & "##" & itemname) as string
                                    move aitem to workingdir as alias
                                    set no_error to true
                                    exit repeat
                                on error
                                    set no_error to false
                                end try
                            end repeat
                        end try
                    end if
                    
                    
                end repeat
            end if
        end tell
    end repeat
end adding folder items to