Execute o applescript sem abrir o editor

10

Toda vez que eu quero rodar um applescript, o editor aparece.

Existe uma maneira de executá-lo diretamente?

    
por OscarRyz 29.07.2009 / 02:22

4 respostas

17

O modo como o script é salvo tem um grande efeito sobre como ele funcionará no Mac OS X. Parece que 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 ao truque.

Os passos são (no editor)

Arquivo > Salvar como > em seguida, defina o formato de arquivo para o aplicativo e salve.

    
por 29.07.2009 / 02:27
5

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 Script Editor para abrir o script; ou você pode escolher Executar somente para não salvar a versão editável.

Como alternativa, você pode usar o comando osascript no Terminal, como osascript /path/to/script ou osascript -e "a short script here" .

    
por 29.07.2009 / 02:30
1

Você também pode colocar o script em sua pasta ~ / Library / Scripts / Finder / e executá-lo diretamente no menu Script.

    
por 29.07.2009 / 04:49
0

Outra maneira é criar um serviço no Automator que use o comando osascript para executar um .scpt no Finder.

(Eu não estou usando o Automator em inglês, então o texto pode não ser preciso)

  1. Iniciar o Automator
  2. Arquivo > Novo e selecione Serviço
  3. Em "Serviço aceito:" selecione "Arquivo ou pasta"
  4. Em "Localização:" selecione "Finder.app"
  5. Pesquise "Executar o AppleScript" e arraste o item para o lado direito
  6. 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
    
  7. Arquivo > Salve e dê um nome como "Executar AppleScript"

  8. Agora você pode clicar com o botão direito do mouse em um arquivo .scpt no Finder e selecionar "Executar AppleScript "e veja seu script executado.

Referência: fonte de sub-rotina - AppleScript: sub-rotinas essenciais

    
por 07.12.2017 / 10:41