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?
Respuestas
¿Demasiados anuncios?Sí, Automator es la mejor opción aquí. Para crear el servicio siga estos pasos:
-
Abrir Automator y seleccione el Servicio de:
-
Búsqueda de applescript' y arrastre la acción para el panel de la derecha:
-
Cambio
Service receives selected text
aService receives no input
, de forma que siempre aparece en el menú de los Servicios de: -
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: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. -
Guardar:
-
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):
-
Asignar un no tan común atajo:
-
Ahora el servicio es accesible desde cualquier aplicación a través del acceso directo que asignó en el paso anterior:
Si alguna vez quiere deshacerse de el servicio de abrir ~/Library/Services
, eliminar el servicio y vaciar la papelera:
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.
Tal vez te gustaría echar un vistazo a Este Servicio, que permite "crear Mac OS X servicios de cualquier secuencia de comandos."
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.
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:
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.