Respostas:
Como o script é salvo tem um grande efeito sobre como ele irá operar no Mac OS X. Parece que o seu script acabou de ser salvo como um script e é isso que está fazendo com que o editor de scripts seja aberto toda vez que você abrir o script.
Para resolver o problema, abra o script no editor AppleScript e salve-o como um aplicativo. Isso deve ser o truque.
As etapas são (no editor)
Arquivo> Salvar como> defina Formato do arquivo como aplicativo e salve.
Ao salvar o script, você pode escolher "Aplicativo" no menu suspenso Formato de arquivo; então você poderá executá-lo e ainda poderá arrastá-lo para o Editor de scripts para abrir o script; ou você pode escolher Executar apenas para não salvar a versão editável.
Como alternativa, você pode usar o osascript
comando no Terminal, como osascript /path/to/script
ou osascript -e "a short script here"
.
Você também pode colocar o script na sua pasta ~ / Library / Scripts / Finder / e executá-lo diretamente no menu Script.
Outra maneira é criar um serviço no Automator que use o osascript
comando para executar um .scpt no Finder.
(Não estou usando o Automator em inglês, portanto, o texto pode não ser preciso)
Na caixa Executar AppleScript, digite o seguinte código:
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
Arquivo> Salvar e dê um nome como "Executar AppleScript"
Agora você pode clicar com o botão direito do mouse em um arquivo .scpt no Finder e selecionar "Executar AppleScript" e ver seu script executado.
Referência: Origem da sub-rotina - AppleScript: Sub-rotinas essenciais
osascript
e não o codificou para manipular se mais de um arquivo .scpt estiver selecionado no Finder. 2. Não há absolutamente nenhuma necessidade de passar por esse rigmarole de codificação quando a seguinte linha de código substitui tudo o que você adicionou à ação Executar AppleScript. do shell script "osascript " & quoted form of POSIX path of item 1 of input
Aqui está um exemplo mínimo para substituir tudo no seu código AppleScript atual: paste.ee/p/XngKA
if
bloco de instruções pode ser expandido com uma else
cláusula que exibe uma mensagem de que o arquivo selecionado não era um arquivo .scpt. Dessa forma, o usuário não fica se perguntando por que nada aconteceu, se não viu que acidentalmente selecionou o tipo errado de arquivo quando o serviço é executado.