Antecedentes: estou tentando escrever um aplicativo AppleScript simples que iniciará um aplicativo tcl, mas estou ficando preso na primeira parte do script.
Eu preciso obter a pasta pai do caminho para o AppleScript. Quando executo esse código:
set LauncherPath to path to me
set ParentPath to container of LauncherPath
... Eu recebo este erro:
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:"
Depois de ler esta resposta , tentei o seguinte:
set LauncherPath to path to me
set RealLauncherPath to first item of LauncherPath
set ParentPath to container of RealLauncherPath
... mas eu recebi este erro:
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:"
Qualquer ajuda ou idéias muito apreciadas. Desde já, obrigado!
PS, uma vez que eu descobrir os problemas acima, o script completo será algo como isto:
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
ATUALIZAÇÃO: Aqui está o script de trabalho que incorpora a resposta abaixo:
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
Simon
fonte
fonte
Você deve executar o script dentro de um 'Tell Block' como:
fonte