11 votos

Cómo hacer una existente archivo AppleScript para trabajar como un servicio?

Hice un AppleScript, se guardan como un archivo en una carpeta específica en el disco duro. Ahora quiero asignar un acceso directo a ella y mira como me tienen que hacer un Servicio a través de Automator, pero el Run AppleScript me pide poner el código en el interior, mientras que la quiero para ejecutar las ya existentes .scpt archivo. Cómo hacerlo?

10voto

Phill Puntos 126

Sí, Automator es la mejor opción aquí. Para crear el servicio siga estos pasos:

  1. Abrir Automator y seleccione el Servicio de:

    enter image description here

  2. Búsqueda de applescript' y arrastre la acción para el panel de la derecha:

    enter image description here

  3. Cambio Service receives selected text a Service receives no input , de forma que siempre aparece en el menú de los Servicios de:

    enter image description here

  4. Reemplace (* Your script goes here *) con:

    do shell script "/usr/bin/osascript /path/to/your/script.scpt"
    

    si desea ejecutar su actual .scpt archivo. Tenga en cuenta que osascript no puede manejar la interacción con el usuario como mostrar una ventana de diálogo:

    enter image description here

    Para superar esta limitación, ya sea el uso de esta solución o simplemente reemplazar (* Your script goes here *) con el contenido de la secuencia de comandos.

  5. Guardar:

    enter image description here

  6. Si lo desea, puede asignar un acceso directo a su nuevo servicio. Seleccione Servicios>Servicios a las Preferencias del Finder (o cualquier aplicación abierta):

    enter image description here

  7. Asignar un no tan común atajo:

    enter image description here

  8. Ahora el servicio es accesible desde cualquier aplicación a través del acceso directo que asignó en el paso anterior:

    enter image description here

Si alguna vez quiere deshacerse de el servicio de abrir ~/Library/Services, eliminar el servicio y vaciar la papelera:

enter image description here

4voto

Joel Puntos 338

En la secuencia de comandos, agregar un on run argumento:

on run
    -- do whatever the script does
end run

A continuación, puede utilizar el Automator "Ejecutar Script de Shell" de acción, con el osascript comando:

osascript /path/to/script.scpt

osascript es un comando que se ejecuta AppleScript en la shell. Usted necesita las líneas en el script para permitir la secuencia de comandos para ser ejecutados en el exterior editor AppleScript.

3voto

Peter Puntos 21

Tal vez te gustaría echar un vistazo a Este Servicio, que permite "crear Mac OS X servicios de cualquier secuencia de comandos."

2voto

Yo no recomendaría la creación de Automator servicios para asignar accesos directos a los guiones. Hay un error en 10.7 y 10.8 donde los atajos de teclado para Automator servicios no siempre funcionan hasta que se pase el ratón sobre el menú de la barra de menú. Hay también un relativamente largo (tal vez de 0,1 a 1 s) retardo antes de que los servicios se ejecutan.

Ver esta respuesta de otras maneras de asignar atajos de teclado a los guiones. Yo uso FastScripts y Alfred mí mismo.

2voto

Malik hassan Puntos 16

Puede EJECUTAR la secuencia de comandos existente con un simple automator servicio como este. Y asignar su acceso directo desde dentro de los atajos de teclado como normal. Sólo recuerde que algunas aplicaciones pueden necesitar ser relanzado antes de elegir los accesos directos.

ejemplo.

sayHello secuencia de comandos:

say "hello"

Automator servicio: enter image description here

Que en este ejemplo se utiliza:

  • No de entrada
  • Cualquier aplicación.

La Acción es Ejecutar el Shell Script El código sólo se utiliza el comando unix osascript y la ruta de acceso al archivo. Pase de entrada puede ser a stdn o argumento

Eso es todo nada especial debe hacerse a la secuencia de comandos.

Para más detalles sobre la osascript comando buscar en las páginas man . La página man de dar otro ejemplo donde se pueden pasar argumentos al script.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X