Antecedentes: estoy tratando de escribir una aplicación simple de applecript que lanzará una aplicación tcl, pero me estoy atascando en la primera parte del script.
Necesito obtener la carpeta principal de la ruta al manuscrito. Cuando ejecuto este código:
set LauncherPath to path to me
set ParentPath to container of LauncherPath
... me sale este error:
error "Can’t get container of alias \"Macintosh HD:Users:simon:Downloads:folder with spaces:CrossFire-master:CrossFire Launcher for Mac.app:\"." number -1728 from container of alias "Macintosh HD:Users:simon:Downloads:folder with spaces:CrossFire-master:CrossFire Launcher for Mac.app:"
Después de leer esta respuesta , probé esto:
set LauncherPath to path to me
set RealLauncherPath to first item of LauncherPath
set ParentPath to container of RealLauncherPath
... pero recibí este error:
error "Can’t get item 1 of alias \"Macintosh HD:Users:simon:Downloads:folder with spaces:CrossFire-master:CrossFire Launcher for Mac.app:\"." number -1728 from item 1 of alias "Macintosh HD:Users:simon:Downloads:folder with spaces:CrossFire-master:CrossFire Launcher for Mac.app:"
Cualquier ayuda o ideas muy apreciadas. ¡Gracias por adelantado!
PD: una vez que descubra los problemas anteriores, el script completo será algo como esto:
set LauncherPath to path to me
set RealLauncherPath to first item of LauncherPath
set ParentPath to container of RealLauncherPath
set UnixPath to POSIX path of ParentPath
set launcherCrossFire to "/usr/local/bin/wish " & UnixPath & "/CrossFire.tcl > /dev/null &" -- creat command to launch CrossFire
do shell script launcherCrossFire
ACTUALIZACIÓN: Aquí está el script de trabajo que incorpora la respuesta a continuación:
set UnixPath to POSIX path of ((path to me as text) & "::") --get path to parent folder
set LaunchCrossFire to "/usr/local/bin/wish '" & UnixPath & "CrossFire.tcl' > /dev/null 2>&1 &" -- creat command to launch CrossFire
do shell script LaunchCrossFire -- run command
applescript
Simón
fuente
fuente
Debería ejecutar el script desde un 'Tell Block' como:
fuente