Jawaban:
Bagaimana skrip disimpan memiliki efek besar pada bagaimana skrip itu akan beroperasi di Mac OS X. Sepertinya skrip Anda baru saja disimpan sebagai skrip dan itulah yang menyebabkan editor skrip terbuka setiap kali Anda membuka skrip.
Untuk mengatasi masalah, buka skrip di editor AppleScript dan simpan sebagai aplikasi. Itu seharusnya trik.
Langkah-langkahnya adalah (di editor)
File> Save As> kemudian atur Format File ke aplikasi kemudian simpan.
Saat menyimpan skrip, Anda dapat memilih "Aplikasi" dari dropdown Format File; maka Anda akan dapat menjalankannya, dan Anda masih dapat menyeretnya ke Editor Skrip untuk membuka skrip; atau Anda dapat memilih Jalankan Saja sehingga tidak akan menyimpan versi yang dapat diedit.
Atau, Anda dapat menggunakan osascript
perintah di Terminal, baik sebagai osascript /path/to/script
atau osascript -e "a short script here"
.
Anda juga dapat menempatkan skrip di folder ~ / Library / Scripts / Finder / dan menjalankannya langsung dari menu Script.
Cara lain adalah dengan membuat Layanan di Automator yang menggunakan osascript
perintah untuk menjalankan .scpt di Finder.
(Saya tidak menggunakan Automator dalam bahasa Inggris sehingga kata-katanya mungkin tidak akurat)
Di kotak Jalankan AppleScript, masukkan kode berikut:
on run {input, parameters}
tell application "Finder"
--get the selected file
set selectedItem to (item 1 of (get selection))
--get location info (folder:file format)
set fileLocation to (selectedItem as alias) as string
--replace : with / with subroutine
set the semifinal to my replace_chars(fileLocation, ":", "/")
--remove Macintosh HD with subroutine
set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
end tell
do shell script "osascript " & "\"" & theFinal & "\""
return input
end run
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars
File> Simpan, dan beri nama seperti "Jalankan AppleScript"
Sekarang Anda dapat mengklik kanan file .scpt di Finder dan pilih "Run AppleScript" dan lihat skrip Anda dieksekusi.
Referensi: Sumber subroutine - AppleScript: Essential Sub-Routines
osascript
dan belum kode untuk menangani jika lebih dari satu file .scpt dipilih di Finder. 2. Sama sekali tidak perlu melalui rigmarole pengkodean seperti itu ketika baris kode berikut menggantikan semua yang Anda tambahkan ke tindakan Run AppleScript. do shell script "osascript " & quoted form of POSIX path of item 1 of input
Berikut adalah contoh minimal untuk mengganti semuanya dalam kode AppleScript Anda saat ini: paste.ee/p/XngKA
if
blok pernyataan dapat diperluas dengan else
klausa yang menampilkan pesan bahwa file yang dipilih bukan file .scpt. Dengan begitu pengguna tidak bertanya-tanya mengapa tidak ada yang terjadi jika mereka tidak melihat mereka secara tidak sengaja memilih jenis file yang salah ketika layanan dijalankan.