Forzar una aplicación para ejecutar una de sus opciones de menú de un script de shell?

apple.stackexchange https://apple.stackexchange.com/questions/4022

  •  16-10-2019
  •  | 
  •  

Pregunta

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

Tal vez una automatización tipo de cosas?

Ejemplo

Me gustaría ejecutar la orden de NewsFire "Archivo> Exportar feeds" de copia de seguridad de la lista de fuentes (archivo OPML). Intenté funcionar NewsFire a través de terminales con "help", pero sin suerte.

Aquí está el script que uso actualmente, en caso de que alguien ha resultado útil. Se puede utilizar para guardar y restaurar el estado de varias máquinas Newsfire al otro lado (a la que acaba de restaurar 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
¿Fue útil?

Solución

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

Se guardará el archivo exportado con el nombre conjunto en el lugar que fue utilizado por última vez para hacer la exportación. No va a sobrescribir un archivo existente en la actualidad, así que tal vez se puede guardar en un lugar temporal y moverlo con una secuencia de comandos independiente.

Nota: : Mi copia de NetNewsWire tenía el comando de menú "exportar las suscripciones ...", no "Feeds de exportación", pero si la suya es diferente, basta con cambiar el nombre del elemento de menú en la línea 6.

Editar para añadir . También necesita tener "Habilitar el acceso para dispositivos de ayuda" en el conjunto de panel de preferencias del sistema de acceso universal a la habilitada para que esto funcione

Licenciado bajo: CC-BY-SA con atribución
No afiliado a apple.stackexchange
scroll top