アプリに、シェルスクリプトからメニューオプションの1つを実行するように強制しますか?

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

  •  16-10-2019
  •  | 
  •  

質問

利用可能なコマンドラインインターフェイスがない場合、アプリにメニューオプションの1つを実行するように強制する方法はありますか?

おそらく自動化のようなものですか?

NewsFireの「ファイル>エクスポートフィード」コマンドを実行して、フィードリスト(OPMLファイル)をバックアップします。 「 - ヘルプ」でターミナルを介してNewsfireを実行してみましたが、運はありませんでした。

誰かがそれを役立つと判断した場合に備えて、私が現在使用しているバックアップスクリプトは次のとおりです。 NewsFireの状態を保存および復元するために使用できます。 cd ~ 、 その後 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
役に立ちましたか?

解決

これは、エクスポートを行うためのApplescriptの始まりです。

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

エクスポートを行うために最後に使用された場所に、セットファイル名でエクスポートされたファイルが保存されます。現在既存のファイルを上書きすることはないので、一時的な場所に保存して別のスクリプトで移動することができます。

ノート: :NetNewswireの私のコピーには、「エクスポートフィード」ではなくメニューコマンド「エクスポートサブスクリプション」がありましたが、違う場合は、6行目のメニュー項目の名前を変更してください。

編集して追加します: :また、これが機能するために有効になるユニバーサルアクセスシステム設定パネルに「アシストデバイスへのアクセスを有効にする」必要があります。

ライセンス: CC-BY-SA帰属
所属していません apple.stackexchange
scroll top