พื้นหลัง: ฉันพยายามเขียนแอพ appcript ง่ายๆที่จะเปิดใช้แอป 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:"
ความช่วยเหลือหรือความคิดใด ๆ ชื่นชมมาก ขอบคุณล่วงหน้า!
ป.ล. เมื่อฉันเข้าใจปัญหาข้างต้นสคริปต์ฉบับเต็มจะเป็นดังนี้:
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: นี่คือสคริปต์การทำงานที่รวมคำตอบไว้ด้านล่าง:
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