Une autre option consiste à utiliser des délimiteurs d'éléments de texte :
set text item delimiters to "/"
POSIX path of (path to me)
text item -1 of result -- "Untitled.scpt"
Si le chemin peut se terminer par une barre oblique, vous pouvez utiliser un gestionnaire comme celui-ci :
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("/") -- "/"
Notez que text item delimiters
est une propriété de l'objet AppleScript (pas locale à la fonction), mais pour autant que je sache, il n'est pas nécessaire de restaurer la propriété des délimiteurs d'éléments de texte si vous ne comptez pas sur elle plus tard dans le script.