it-swarm-pt.tech

Execute applecript sem abrir o editor

Sempre que desejo executar um script de maçã, o editor aparece.

Existe uma maneira de executá-lo diretamente?

12
OscarRyz

O modo como o script é salvo tem um grande efeito em como ele funcionará no Mac OS X. Parece que seu script foi salvo apenas como um script e é isso que está fazendo com que o editor de script seja aberto toda vez que você abre 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 de arquivo como aplicativo e salve.

link text

19
Bruce McLeod

Ao salvar o script, você pode escolher "Aplicativo" no menu suspenso Formato do arquivo; então você poderá executá-lo e ainda será capaz de 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.

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

7
jtbandes

No macOS High Sierra 10.13, não há Arquivo/Salvar como.

Você deve usar Arquivo/Exportar/Formato de Arquivo: Aplicativo File ExportFile Format

1
Jay Walker

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

1
jamiepeloquin

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

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

  1. Lançar Automator
  2. Arquivo> Novo e selecione Serviço
  3. Em "Aceita serviço:" selecione "Arquivo ou pasta"
  4. Em "Localização:" selecione "Finder.app"
  5. Pesquise "Executar 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> Salvar e dê a ele um nome como "Executar AppleScript"

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

Referência: Fonte da sub-rotina - AppleScript: Essential Sub-Routines

0
Jack Wu