Dieser Code funktioniert, aber ...
Ihr Handler:
splittext
sollte sein :
splitText(theText, MaxYear, MinYear}
Beachten Sie die Klammern anstelle von geschweiften Klammern (und auch das Kamelgehäuse).
Sie sollten immer eine Zeichenfolge in Ihrem Handler zurückgeben:
return "" -- return false
Und in der Wiederholungsschleife oben:
if newname is not "" then -- if newname then
Es gibt noch weitere Fallstricke: die Art von x. Dies ist eine lokale Zeichenfolge, dh "Folder" wird auf Französisch "Dossier" sein. Sie sollten vielleicht so etwas tun, wenn Sie nicht aus dem englischsprachigen Land sind:
log kind of x
Also der ganze Code, der auf meinem Rechner funktioniert (10.12.6):
set MaxYear to 2018 set MinYear to 1990 --return splitText("abc2015def", 2018, 1990) tell application "Finder" set allfiles to every item of (choose folder with prompt "Choose the Files you'd like to rename:" with multiple selections allowed) as list -- set allfile to selections repeat with x in allfiles log kind of x if kind of x is "Folder" then -- if xtype is "Folder" then set cname to name of x set newname to my splitText(cname, MaxYear, MinYear) if newname is not "" then set name of x to newname end if end if end repeat end tell on splitText(theText, MaxYear, MinYear) set dyear to MaxYear repeat until dyear < MinYear set AppleScript's text item delimiters to dyear set theTextItems to every text item of theText set AppleScript's text item delimiters to "" if (count of theTextItems) > 1 then return the first item of theTextItems & dyear as string end if set dyear to dyear - 1 end repeat return "" end splitText