Schleifen & Repeat Fragen

M

Maver

Mitglied
Thread Starter
Dabei seit
04.03.2005
Beiträge
45
Reaktionspunkte
0
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
 
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.
 
Zurück
Oben Unten