Hallo Peter,
bitte sehr.
aus Zeitgründen hatte ich die folgenden Erklärungen nicht sofort liefern können.
Die Zeile ...
... ist charakteristisch für ein Droplet. Die Variable kann anders benannt sein. Aber sie wird immer die Liste der Pfade zu den gedroppten Objekten enthalten. Das sind alles Aliasse.
In der Schleife ...
... wird der Variablen 'aObject' das aktuellen Element der Liste zugewiesen.
Dieses wird mit ....
... dem Handler 'processObject()' übergeben, welcher die Objekte prüft.
Mit ...
... wird der Variablen 'curObject' der Pfad als Textkette zugewiesen.
Und jetzt kann das Script den Pfad prüfen. Wenn dieser mit ":" endet, ist es ein Ordner (oder eine App). Sonst eine Datei.
Falls Ordner: Dessen Inhalt wird aufgelistet und zurück an den Handler 'processObject()' gesandt, in welchem die Prüfung stattfindet. Das nennt man "rekursiv".
Falls Datei: Dieser Pfad wird zum Handler 'workFile()' geschickt. In diesem werden die Infos ausgezogen und die Textkette wird zusammengesetzt.
Schliesslich wird durch den "Finder"-Einzeiler-Befehl die Datei umbenannt.
Aus Performance-Gründen ist es ratsam, den "Finder" nur für Befehle aufzubieten, welche er beherrscht. Sonst resultiert ein interner Fehler und der Befehl muss erneut durch die richtige App ausgeführt werden. Das geschieht so häufig, dass Apple diese "Umleitung" offiziell ermöglicht hat.
Es ist auch besser, die "Finder"-Befehle als Einzeiler zu schreiben. Und nicht den ganzen Ablauf in einen "Finder"-Block zu packen.
Falls noch Fragen: nur fragen! :-)
Gruss, Hans