Para establecer una variable a la ruta de estilo Posix del actual script que dio como ejemplo:
set thePath to POSIX path of (path to me) as text
Los scripts se almacenan como archivos, pero las aplicaciones se almacenan como paquetes (más conocidos en el mundo Unix/POSIX como directorios), por lo que el exacto El resultado depende de si lo que se está ejecutando se guardó como un script (archivo .scpt) o una aplicación (paquete .app).
Digamos que soy el usuario "gh" y guardo mis scripts en un subdirectorio de mi directorio personal llamado scripts.
Si se ejecuta en un script guardado como foo.scpt, la sentencia anterior establecería elPath como
/Users/gh/Scripts/foo.scpt
Ejecutando como foo.app, establecería elPath a
/User/gh/Scripts/foo.app/
Tenga en cuenta la barra diagonal final.
Si quiero cargar una librería desde el mismo lugar que el actual script, hay algunas formas de obtener sólo la parte necesaria de la ruta, pero la más fácil es:
set my_root to POSIX path of (((path to me) as text) & "::")
set my_lib to load script POSIX file (my_root & "lib.scpt")
Tanto si el script se guarda como .scpt o como .app, mi_raíz siempre recibe
/Users/gh/Scripts/
0 votos
Sin probarlo - y basado en un vago conocimiento de Applescript... 'path to myself' o 'POSIX path to myself'. Applescript definitivamente entiende que "yo" significa este script o esta aplicación compilada. Nunca he probado hasta dónde llega eso.
0 votos
Inténtalo:
set thePath to POSIX path of (path to me as text)
0 votos
@user3439894 Funciona perfectamente, es exactamente lo que quiero. Puedes publicarlo como respuesta y lo aceptaré. ¡¡¡Gracias!!!