Latar Belakang: Saya mencoba untuk menulis aplikasi applescript sederhana yang akan meluncurkan aplikasi tcl, tetapi saya terjebak pada bagian pertama skrip.
Saya perlu mendapatkan folder induk path ke applescript. Ketika saya menjalankan kode ini:
set LauncherPath to path to me
set ParentPath to container of LauncherPath
... Saya mendapatkan kesalahan ini:
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:"
Setelah membaca jawaban ini , saya mencoba ini:
set LauncherPath to path to me
set RealLauncherPath to first item of LauncherPath
set ParentPath to container of RealLauncherPath
... tapi saya mendapat kesalahan ini:
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:"
Setiap bantuan atau ide sangat dihargai. Terima kasih sebelumnya!
PS begitu saya mengetahui masalah di atas, skrip lengkap akan menjadi seperti ini:
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
UPDATE: Berikut skrip yang berfungsi menggabungkan jawaban di bawah ini:
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