Forzare un app per eseguire una delle sue opzioni di menu da uno script di shell?

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

  •  16-10-2019
  •  | 
  •  

Domanda

C'è un modo per forzare l'App per eseguire una delle sue opzioni di menu, se non c'è una linea di comando di interfaccia disponibili?

Forse un Automazione genere di cose?

ESEMPIO

Vorrei eseguire il comando di NewsFire "File> Esporta Feed" per il backup della lista di alimentazione (file OPML). Ho provato a fare funzionare NewsFire tramite terminale con "help", ma senza fortuna.

Ecco lo script di backup che attualmente uso, in caso qualcuno sia utile. Può essere utilizzato per salvare e ripristinare lo stato di NewsFire attraversato più macchine (per ripristinare appena cd ~, e quindi 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
È stato utile?

Soluzione

Questo è un inizio di un AppleScript per fare la esportazione:

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

Si salvare il file esportato con il nome del file impostato nella posizione che è stata l'ultima usato per fare la esportazione. Non sarà sovrascrivere un file attualmente esistente, quindi forse è possibile salvare in un luogo temporanea e spostarlo con uno script separato.

Nota : La mia copia di NetNewsWire ha avuto il comando di menu "Esporta Abbonamenti ...", non "Esporta feed", ma se il vostro è diverso, basta cambiare il nome della voce di menu sulla linea 6.

Modifica per aggiungere :. È inoltre necessario avere "Abilita l'accesso a dispositivi di assistenza" nel set pannello Preferenze universale Access System per abilitato per far funzionare tutto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a apple.stackexchange
scroll top