4 votos

¿Forzar a una aplicación a ejecutar una de sus opciones de menú desde un shell script?

¿Hay alguna forma de forzar a la aplicación a ejecutar una de sus opciones de menú si no hay una interfaz de línea de comandos disponible?

¿Quizás un tipo de automatización?

EJEMPLO

Me gustaría ejecutar el comando "File > Export Feeds" de NewsFire para hacer una copia de seguridad de la lista de feeds (archivo OPML). He intentado ejecutar NewsFire a través de Terminal con "--help" pero no ha habido suerte.

Aquí está la copia de seguridad script que utilizo actualmente, por si alguien la encuentra útil. Se puede utilizar para guardar y restaurar el estado de NewsFire en varias máquinas (para restaurar sólo hay que cd ~ y luego unzip backup.zip ).

#! /bin/bash
#
# Backup NewsFire preferences, feeds and cache (everything)
#

D_DESTFILE=~/Backups/Config/NewsFire.zip

# Don't update archive, create new one
if [ -e "$D_DESTFILE" ]; then
  rm $D_DESTFILE
fi

cd ~
zip -r $D_DESTFILE Library/Application\ Support/NewsFire Library/Caches/org.xlife.NewsFire Library/Preferences/org.xlife.NewsFire.plist

1voto

aku Puntos 54867

Este es el comienzo de un AppleScript para hacer la exportación:

set filename to "test file"

tell application "NetNewsWire" to activate
tell application "System Events"
    tell process "NetNewsWire"
        click menu item "Export Subscriptions…" of menu "File" of menu bar 1
        set value of first text field of first sheet of first window to filename
        click button "Save" of first sheet of first window
    end tell
end tell

tell application "NetNewsWire" to quit

Guardará el archivo exportado con el nombre de archivo establecido en la ubicación que se utilizó por última vez para hacer la exportación. No sobrescribirá un archivo actualmente existente, así que tal vez pueda guardarlo en un lugar temporal y moverlo con un script separado.

Nota : Mi copia de NetNewsWire tenía el comando de menú "Exportar suscripciones ", no "Exportar feeds", pero si la suya es diferente, simplemente cambie el nombre del elemento de menú en la línea 6.

Editar para añadir : Para que esto funcione, también es necesario que la opción "Habilitar acceso para dispositivos de asistencia" del panel de preferencias del sistema de acceso universal esté activada.

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