Справочная информация: я пытаюсь написать простое приложение appleScript, которое запустит приложение tcl, но я застреваю в первой части сценария.
Мне нужно получить родительскую папку пути к appleScript. Когда я запускаю этот код:
set LauncherPath to path to me
set ParentPath to container of LauncherPath
... я получаю эту ошибку:
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:"
Прочитав этот ответ , я попробовал это:
set LauncherPath to path to me
set RealLauncherPath to first item of LauncherPath
set ParentPath to container of RealLauncherPath
... но я получил эту ошибку:
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:"
Любая помощь или идеи высоко ценится. Заранее спасибо!
PS Как только я разберусь с вышеуказанными проблемами, полный сценарий будет примерно таким:
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
ОБНОВЛЕНИЕ: Вот рабочий скрипт, включающий ответ ниже:
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
Саймон
источник
источник
Вы должны запустить скрипт из «Tell Block», например:
источник