Hallo Hans-Gerd,
ja, das geht. Zunächst aber zwei wichtige Korrekturen:
1) 'droppedfile' ist schon eine Liste von Aliassen. Man braucht also die Variablen 'filesList' nicht und statt 'theFile' zu öffnen, kann man 'aFile' benutzen.
2) Wie schon gesagt, 'aFile' ist ein Alias und muss nicht in ein solches verwandelt werden. Der Finder kann also mit einem (effizienteren) Einzeiler eingesetzt werden.
Eine weitere Vereinfachung: die Variable 'docBaseName' direkt mit der Eingabe des Anwenders füttern.
Zur Numerierung: Am einfachsten wäre, die automatische Zählervariable, z.B. 'repeat with i from 1 to ...' zu benutzen. Denn diese wird automatisch bei jedem Umgang um eins erhöht. Die führende Null kann man leicht einfügen, indem getestet wird, ob der Zähler einstellig ist oder nicht: 'if i < 10 then...'. Aber es geht auch einfacher. Siehe weiter unten.
Weil Du aber mit 'aFile' die Liste durchgehst, muss man einen zusätzlichen Zähler einrichten. Der Ansatz ist mit 'fileIndex' schon da. Und auch das Erhöhen des Wertes mit '+1'. Allerdings nicht komplett. Und an der falschen Stelle. Deshalb folgende zwei Korrekturen:
1) 'set fileIndex to 1' --> bei Eins beginnen
2) 'set fileIndex to fileIndex + 1' --> vor dem 'end repeat' einfügen.
Und wie kommt die Null dazwischen? So: '... & text -2 thru -1 of ("0" & fileIndex)'
Alles klar? Nicht ganz. Also … die "0" und der Wert von 'fileIndex' wird zu einem String zusammengefasst. Davon nimmt man den Text ab zweitletztem Buchstaben (= -2) bis (= thru) zum letzten Buchstaben (= -1). Von "01" bis "09": kein Problem. Aber auch mit "010", "011" usw. funktioniert diese Formulierung. Ohne Test von wegen Wert. Dass die Null ab '10' "umsonst" vorgehängt wird, tut nicht weh.
Hier die angesprochenen Zeilen im Zusammenhang (aber ich habe das Script ausnahmsweise nicht getestet):
---
on open droppedfile
set docBaseName to text returned of (display dialog "hallo michael! tu mal name:" default answer "")
set outputFolder to choose folder
repeat with aFile in droppedfile
set fileIndex to 1
tell application "Finder" to set fileName to name of aFile
tell application "Adobe Photoshop 7.0"
open aFile
«event miscdosc» "dateiinfo"
set newFileName to (outputFolder as string) & docBaseName & text -2 thru -1 of ("0" & fileIndex)
save current document in file newFileName as JPEG appending lowercase extension
close current document without saving
end tell
set fileIndex to fileIndex + 1
end repeat
end open
set newFileName to (outputFolder as string) & docBaseName & fileName & text -2 thru -1 of ("0" & fileIndex)
set newFileName to (outputFolder as string) & docBaseName & "_" & fileName & "_" & text -2 thru -1 of ("0" & fileIndex)
---
… damit der neue Name etwas lesbarer wird.
Hans Haesler <hsa@ringier.ch>