Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Twenning •->

Anmeldedatum: 27.08.2003 Beiträge: 15
|
Verfasst am: 22.07.2004 - 16:12 Titel: Rekrusiver Abgleich von Ordner |
|
|
Hallo,
ich habe ein Skript erstellt um eine Ordnerstruktur abzugleichen. Hierbei werden nur bestimmte Grafikformate berücksichtigt.
Code: |
on run
tell application "Finder"
activate
try
set folder1 to choose folder with prompt "Bitte wählen Sie den Quellordner !"
on error -- z.B. Benutzer hat in “Abbrechen” geklickt
return
end try
try
set folder2 to choose folder with prompt "Bitte wählen Sie den Zielordner !"
on error -- z.B. Benutzer hat in “Abbrechen” geklickt
return
end try
SyncFolders(folder1, folder2) of me
end tell
end run
on SyncFolders(folder1, folder2)
SyncEm(folder1, folder2)
end SyncFolders
on SyncEm(folder1, folder2)
tell application "Finder"
set Folder1Contents to list folder folder1
set Folder2Contents to list folder folder2
set grafiktype to {"EPSF", "TIFF", "GIF", "JPEG"}
repeat with x in Folder1Contents
if x is not in Folder2Contents then
try
if kind of alias ((folder1 as text) & x) is "Ordner" then
set NeuerOrdner to make new folder at folder2
set the name of NeuerOrdner to x
SyncFolders(((folder1 as text) & x) as alias, ((folder2 as text) & x) as alias) of me
else
set datei to file type of alias ((folder1 as text) & x)
if datei is in grafiktype then
with timeout of 12000 seconds
duplicate alias ((folder1 as text) & x) to folder folder2
end timeout
end if
end if
end try
else
if kind of alias ((folder1 as text) & x) is "Ordner" then
SyncFolders(((folder1 as text) & x) as alias, ((folder2 as text) & x) as alias) of me
else
set datei to file type of alias ((folder1 as text) & x)
if datei is in grafiktype then
set date1 to «class modd» of alias ((folder1 as text) & x)
set date2 to «class modd» of alias ((folder2 as text) & x)
set size1 to data size of alias ((folder2 as text) & x)
set size2 to data size of alias ((folder2 as text) & x)
if date1 = date2 and size1 = size2 then
-- Datei übergehen
else
with timeout of 1200 seconds
duplicate alias ((folder1 as text) & x) to ((folder2 as text) & x & "001")
end timeout
end if
end if
end if
end if
-- end if
end repeat
end tell
end SyncEm
|
Es soll sein das Ordner nicht berücksichtigt
Ich konnte dieses Problem nicht reproduzieren. Sieht jemand eine entsprechenden Bug?
Danke und Gruß
Paulchen |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 22.07.2004 - 17:55 Titel: |
|
|
Kleine Änderung:
set Folder1Contents to list folder folder1 without invisibles
set Folder2Contents to list folder folder2 without invisibles
Somit werden unsichtbare Dateien wie ".DS_Store" nicht berücksichtigt. Von diesen könnte nämlich später im Skript nicht die Art bestimmt werden. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2002 phpBB Group Deutsche Übersetzung von phpBB.de
|
|
|