Schleifen & Repeat Fragen

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von Maver, 04.11.2005.

  1. Maver

    Maver Thread Starter MacUser Mitglied

    Beiträge:
    45
    Zustimmungen:
    0
    Registriert seit:
    04.03.2005
    Hallo

    ich habe folgendes Script als Ordneraktion:

    on adding folder items to this_folder after receiving these_items
    tell application "Finder"

    --Wiederholung für alle enthaltenen Objekte die in den Ordner geschoben werden
    repeat with anItem in these_items

    -- Hier wird das jahr ermittelt, damit man eine Sortierung nach Jahreszahlen vornehmen kann
    set theyear to year of the (current date) as string

    -- Zielordner auf dem Server
    set pfad to ("Filmarchiv:Micha:test:")
    set zielpfad to pfad & theyear as string
    set pfad_error_vorhanden to ("Michael HD:Users:michael:Desktop:Error Ordner:Vorhanden:")
    set pfad_error_sonder to ("Michael HD:Users:michael:Desktop:Error Ordner:Sonder:")


    --Bearbeitungsdatum durch das aktuelle ersetzen
    set modification date of anItem to (current date)

    --Prüfung, ob der Jahreszahlenordner schon existiert, falls nicht wird er angelegt
    if zielpfad exists then
    try
    set bild to these_items as string
    move anItem to folder (zielpfad)
    move anItem to the trash
    on error
    display dialog "Datei oder Ordner bereits vorhanden: " & bild
    move these_items to folder (pfad_error_vorhanden)
    end try
    set these_items to clear
    else
    make new folder at pfad with properties {name:theyear}
    move these_items to folder (zielpfad)
    move these_items to the trash
    end if
    end repeat
    end tell
    end adding folder items to

    Hierbei wird ein Ordner A überwacht und soll alles nach B kopieren und anschließend löschen. Wenn die zu kopierende Datei in B schon existiert oder die Datei sonderzeichen enthält soll sie in den Ordner C verschoben werden. soweit so gut.

    das Problem besteht bzw. tritt dann auf, sobald ich mehrere Dateien in den Ordner A bereit stelle. Ist unter diesesn Dateien die entweder schon vorhanden ist oder ein Sonderzeichen enthält wird alles in den Ordner C geschoben. Handelt die repeat schleife die dateien nicht einzeln ab (in der Dialogbox stehen auch alle dateien). Wie kann man das bewerkstelligen, das nur eine Datei betrachtet und abgearbeitet wird und man anschließend wieder von vorne beginnt.

    Gruß

    Maver
     
  2. Olivetti

    Olivetti MacUser Mitglied

    Beiträge:
    5.711
    Zustimmungen:
    802
    Registriert seit:
    09.12.2005
    Du solltest Deine Variablen nicht verwechseln.
    anItem these_items usw.
    Du movest zuerst mit anItem und im Fehlerfall movest Du plötzlich alle (restlichen) mit these_items.

    O.
     
Die Seite wird geladen...

Diese Seite empfehlen