No AppleScript Editor, posso ver que o código-fonte tem conteúdo de script, mas a linha 2 falha por algum motivo.
set source_code to load script (POSIX file "/path/to/script.scpt")
word 2 of source_code
Isso não funciona. Eu tento ler arquivos AppleScript para variável.
Não tento executar esse código carregado, mas preciso obtê-lo como string.
Parece falhar porque source_code é «script» não string. Como isso pode ser corrigido? obrigado
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
fonte
fonte
set source_code ...
), mas a segunda não? O que você espera que a segunda linha faça exatamente?Respostas:
O
load script
comando carrega um script como um objeto a ser executado, em vez de como texto para ler ou manipular.Se você deseja acessar o texto real do seu script, pode usar o osadecompile:
Os scripts compilados salvos com o AppleScript Editor geralmente possuem terminações de linha LF em cadeias, mas terminações de linha CR em outros locais. osadecompile converte todas as terminações de linha em LF.
do shell script
converte terminações de linha em CR, a menos que você adicione umwithout altering line endings
especificador.fonte
cat Untitled.scpt/..namedfork/rsrc
/xattr -p com.apple.ResourceFork Untitled.scpt | xxd -r -p
) e, na verdade, é rich text, mas não sei como convertê-la em rtf ou texto sem formatação.