Di AppleScript Editor saya dapat melihat bahwa source_code memiliki konten skrip tetapi baris 2 gagal karena beberapa alasan.
set source_code to load script (POSIX file "/path/to/script.scpt")
word 2 of source_code
Ini tidak berhasil. Saya mencoba membaca file AppleScript ke variabel.
Saya tidak mencoba menjalankan kode ini tetapi saya harus mendapatkannya sebagai string
Tampaknya gagal karena source_code «script» bukan string. Bagaimana ini bisa diperbaiki? Terima kasih
set source_code to load script (POSIX file "/path/to/script.scpt")
word 2 of (source_code as string) -->error "Can’t make «script» into type string." number -1700 from «script» to string
word 2 of source_code -->error "Can’t get word 2." number -1728 from word 2
macos
applescript
ps22
sumber
sumber
set source_code ...
) tapi yang kedua tidak? Apa yang Anda harapkan dari baris kedua?Jawaban:
Itu
load script
perintah memuat skrip sebagai objek yang akan dijalankan, bukan sebagai teks untuk dibaca atau dimanipulasi.Jika Anda ingin mengakses teks aktual skrip Anda, Anda dapat menggunakan osadecompile:
Script yang dikompilasi disimpan dengan AppleScript Editor biasanya memiliki akhir baris LF di string tetapi akhir baris CR di tempat lain. osadecompile mengubah semua akhir baris menjadi LF.
do shell script
mengkonversi akhir baris menjadi CR kecuali Anda menambahkan awithout altering line endings
specifier.sumber
cat Untitled.scpt/..namedfork/rsrc
/xattr -p com.apple.ResourceFork Untitled.scpt | xxd -r -p
) dan itu sebenarnya kaya teks, tapi saya tidak tahu bagaimana mengubahnya menjadi rtf atau teks biasa