it-swarm-es.tech

Ejecute Applecript sin abrir el editor

Cada vez que quiero ejecutar un manuscrito, aparece el editor.

¿Hay alguna forma de ejecutarlo directamente?

12
OscarRyz

La forma en que se guarda la secuencia de comandos tiene un gran efecto sobre cómo funcionará en Mac OS X. Parece que la secuencia de comandos se guarda como una secuencia de comandos y eso es lo que hace que el editor de secuencias de comandos se abra cada vez que abre la secuencia de comandos.

Para resolver el problema, abra el script en el editor de AppleScript y guárdelo como una aplicación. Eso debería ser el truco.

Los pasos son (en el editor)

Archivo> Guardar como> luego configure Formato de archivo en la aplicación y luego guarde.

link text

19
Bruce McLeod

Al guardar la secuencia de comandos, puede elegir "Aplicación" en el menú desplegable Formato de archivo; luego podrá ejecutarlo y aún podrá arrastrarlo al Editor de secuencias de comandos para abrir la secuencia de comandos; o puede elegir Ejecutar solo para que no guarde la versión editable.

Alternativamente, puede usar el comando osascript en Terminal, ya sea como osascript /path/to/script o osascript -e "a short script here".

7
jtbandes

En macOS High Sierra 10.13 no hay Archivo/Guardar como.

Debe utilizar Archivo/Exportar/Formato de archivo: Aplicación File ExportFile Format

1
Jay Walker

También puede colocar el script en su carpeta ~/Library/Scripts/Finder/y ejecutarlo directamente desde el menú Script.

1
jamiepeloquin

Otra forma es crear un servicio en Automator que use el comando osascript para ejecutar un .scpt en Finder.

(No estoy usando Automator en inglés, por lo que es posible que la redacción no sea precisa)

  1. Iniciar Automator
  2. Archivo> Nuevo y seleccione Servicio
  3. En "El servicio acepta:" seleccione "Archivo o carpeta"
  4. En "Ubicación:" seleccione "Finder.app"
  5. Busque "Ejecutar AppleScript" y arrastre el elemento hacia el lado derecho
  6. En el cuadro Ejecutar AppleScript, ingrese el siguiente 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. Archivo> Guardar y asígnele un nombre como "Ejecutar AppleScript"

  8. Ahora puede hacer clic derecho en un archivo .scpt en Finder y seleccionar "Ejecutar AppleScript" y ver su secuencia de comandos ejecutada.

Referencia: Fuente de subrutina - AppleScript: Subrutinas esenciales

0
Jack Wu