[AppleScript] Ordner nach Namen verschieben

Dieses Thema im Forum "AppleScript" wurde erstellt von andrewk, 25.03.18.

  1. andrewk

    andrewk Granny Smith

    Dabei seit:
    03.03.08
    Beiträge:
    17
    Hallo zusammen

    Ich habe im Automator ein Script erstellt

    • Finder Objekte suchen Art ist Ordner
    • Name enthält "montag"
    • Finder Objekte bewegen
    • Zielordner
    Das habe ich dann untereinander mit verschiedenen Wochentagen gemacht. Das Problem ist, dass natürlich nicht immer alle Tage vorhanden sind, so dass das Script dann stoppt, wenn es nichts zum bewegen findet. Wie kann ich das Script durchlaufen lassen oder wie müsste ich die Struktur/Logik anpassen, damit es funktioniert.

    Besten Dank und einen sonnigen Sonntag
     
  2. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    387
    Eigentlich könntest Du das über ein paar Zeilen im Terminal machen... das läuft schneller und sähe auch cooler aus ;)

    Sagen wir mal das Ist die Ausgangslage (Ordern liegen auf dem Desktop):

    Screen Shot 2018-03-25 at 09.49.33.png

    Dann würde
    Code:
    find ~/Desktop/Suchordner -type d
    Dir alle Ordner suchen
    Code:
    find ~/Desktop/Suchordner -type d -iname *Mittwoch*
    Dir alle Ordner mit Mittwoch im Namen suchen
    Code:
    find ~/Desktop/Suchordner -type d -iname *Mittwoch* -maxdepth 1
    DIr alle Ordner mit Mittwoch im Namen die direkt im Such-Ordner liegen finden
    und mit
    Code:
    find ~/Desktop/Suchordner -type d -iname *Mittwoch* -maxdepth 1 -exec mv {} ~/Desktop/Zielordner/Mittwoche/ \;
    bewegst Du diese Ordner dann in den Zielordner Mittwoche

    Screen Shot 2018-03-25 at 09.58.36.png

    Nur so als Anregung der Fall dass im Zielordner aber ein anderer Ordne existiert wäre damit leider nicht berücksichtigt. am einfachsten via Apple Script:

    Code:
    set suchOrdner to (POSIX file "/Users/hubi/Desktop/Suchordner") as alias
    set zielOrdner to (POSIX file "/Users/hubi/Desktop/Zielordner") as alias
    
    tell application "Finder"
        set folderKind to kind of suchOrdner
        set wochenTage to {"Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"}
        repeat with wochenTag in wochenTage
            set foundThese to (every item of suchOrdner whose kind is folderKind and name contains wochenTag)
            repeat with theFolder in foundThese
                try
                    move theFolder to container (wochenTag & "e" as string) of zielOrdner
                on error
                    set origName to name of theFolder
                    set theFolderContainer to container of theFolder
                    repeat with i from 1 to 100
                        try
                            set newName to (origName & " #" & i as string)
                            set name of theFolder to newName
                            set theFolder to item newName of theFolderContainer
                            move theFolder to container (wochenTag & "e" as string) of zielOrdner
                            exit repeat
                        end try
                    end repeat
                end try
            end repeat
        end repeat
    end tell
     
    andrewk gefällt das.
  3. andrewk

    andrewk Granny Smith

    Dabei seit:
    03.03.08
    Beiträge:
    17
    lieber hubionmac
    Wow, herzlichen Dank. Das probiere ich gerne aus! Herzliche Dank für deine Mühe an diesem sonnigen Sonntag!