web-dev-qa-db-ja.com

AppleScriptでプログラムを開く

2部の質問:

私は単にターミナルからapplescriptを使用してプログラムを実行しようとしているので、試しました:

$ osascript tell application "iTunes" to activate

エラーを取得します:

osascript: tell: No such file or directory

プログラムへの完全なパスを指定しても機能しませんでした。私は何が欠けていますか?質問の2番目の部分は、私が最終的にapplescriptを使用したいものです。 py2appを使用して構築したアプリケーションを開くために使用したいと思います。 AppleScriptは、すべてのMacアプリまたは既に互換性のある特定のアプリのみを開くことができます。

ありがとう

17
sabajt

これを試して。コマンドを記述するときに「-e」を使用していることに注意してください。 「-e」なしでは、実行するapplescriptへのパスを指定します。また、文字列コマンドは引用符で囲む必要があります。

osascript -e "tell application \"iTunes\" to activate"

そして、複数行のAppleScriptがある場合、次のように各行の前に「-e」を使用します...

osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell"

アプリケーションを開きたい場合は、unixの「open」コマンドを使用してください...

open "/path/to/application"

Applescriptを使用してアプリケーションを開きたい場合、「アクティブ化」コマンドが機能しない(ほとんどすべての場合に機能するはずです)場合は、Finderに開くように指示します。 applescriptはコロンで区切られたパスを使用することに注意してください...

osascript -e "tell application \"Finder\" to open file \"path:to:application\""
23
regulus6633

Bashシェル(ターミナルなど)では、「hereドキュメント」を使用して複数行をosascriptに送信できます。

osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell"

になる

osascript <<EOF
tell application "iTunes"
   activate
end tell
EOF

昔ながらのUnixハッカーとして、これらの小さなスニペットを$ HOME/binディレクトリに保存し、コマンドラインから呼び出します。しかし、まだ詳細を学んでいます。

アラン

9
Alan Porter

試してください:

do Shell script "open /Applications/iTunes.app"
6
adayzdone

tellを単一引用符で囲む必要があります。

osascript -e「アプリに「iTunes」を有効化するよう伝えます」

それ以外の場合は、-eの実行時に変数を定義しています

6
adus caeim

osascriptの代替:

open -a Calendar

すぐ近くに:

pkill Calendar
4
Darth Coder

私もスクリプトの初心者です。

AppleScript Language Guideという名前のエッセイをスキャンし、スクリプトコマンドアイテムを確認すると、mac osのアプリケーションをapplescript editorでアクティブ化する場合、下に入力する必要があることがわかりますエディターでコードを作成し、コンパイルして実行します!この答えがあなたを助けるかもしれません、ここにコードがあります:

// applescript editor code    

----------    

activate application "iTunes" line 1    

----------    

tell application "iTunes" to activate line 2
2
Vincent Hsu