1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Dateien mit einer bestimmten Extention mit AppleScript Suchen

Dieses Thema im Forum "AppleScript" wurde erstellt von TommyC, 12.11.06.

  1. TommyC

    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
     
  2. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    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
     

Diese Seite empfehlen