Otra opción es usar delimitadores de elementos de texto:
set text item delimiters to "/"
POSIX path of (path to me)
text item -1 of result -- "Untitled.scpt"
Si la ruta puede terminar con una barra, puede usar un controlador como este:
on basename(x)
if x is "/" then return "/"
if item -1 of x is "/" then set x to text 1 thru -2 of x
set text item delimiters to "/"
text item -1 of x
end basename
basename("/dir1/dir2/file.txt") -- "file.txt"
basename("/dir1/") -- "dir1"
basename("/dir1/dir2/") -- "dir2"
basename("/dir1/dir2") -- "dir2"
basename("/") -- "/"
Tenga en cuenta que text item delimiters
es una propiedad del objeto AppleScript (no local para la función), pero que yo sepa, no tiene que restaurar la propiedad de los delimitadores de elementos de texto si no confía más adelante en el script.