Sfondo: sto provando a scrivere una semplice app applecript che avvierà un'app tcl, ma mi sto bloccando nella prima parte dello script.
Ho bisogno di ottenere la cartella genitore del percorso per lo script di mele. Quando eseguo questo codice:
set LauncherPath to path to me
set ParentPath to container of LauncherPath
... ottengo questo errore:
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:"
Dopo aver letto questa risposta , ho provato questo:
set LauncherPath to path to me
set RealLauncherPath to first item of LauncherPath
set ParentPath to container of RealLauncherPath
... ma ho riscontrato questo errore:
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:"
Qualsiasi aiuto o idea molto apprezzato. Grazie in anticipo!
PS una volta che avrò capito i problemi di cui sopra, lo script completo sarà qualcosa del genere:
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
AGGIORNAMENTO: ecco lo script di lavoro che incorpora la risposta di seguito:
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