AppleScriptでMac作業を楽にしてみよう
AppleScriptとは?
これは何かというと、、
Mac標準搭載のシステム言語です。
Windowsで言うバッチプログラムにあたるもの。
AppleScriptの概要として
・Mac標準搭載である
・VBAなど外部の機能を使用せずとも色々出来る
・演算処理からファイル監視など様々な自動化処理などなど
といった感じです。
使うには?
特にインストール作業は必要ありません。
強いて言うなればGrowlを入れておくと
サンプルスクリプトが見られるので便利です。
新しいMacOSであれば録画のようなことも出来るそうです。(未確認)
まずは起動してみましょう。
アプリケーション一覧>ユーティリティ>スクリプトエディタ
以上です!
例えば演算処理!?
ウィンドウ上部で「5 + 8 * 9」と入力してCommand+R(実行)してみると、、、、
フォルダ監視処理!?
「スクリーンキャプチャした画像を一つずつ開く」
と言うのを自動化してみました。
デフォルトではデスクトップに保存されるので
保存されたらダイアログで開くか訊ねさせ、開くボタンで勝手に開くみたいな!
以下ではユーザー名がGuestと仮定して進めます。
最初に /Library/Scripts/Folder Action Scripts 以下のファイルを
/Users/Guest/Library/Scripts/Folder Action Scriptsへコピーします
では、Finderを立ち上げユーザールート・ディレクトリを開きましょう。
/Users/Guest です。
「デスクトップ」というフォルダがあると思うので、
選択して右クリックをし、「サービス」>「フォルダアクション設定…」を選択。
すると、以下のようなダイアログが表示されるので
「add – new item alert.scpt」と言うサンプルを選択。
これ自体は指定フォルダにファイルが追加されたら
Finderを開くか、、といったスクリプトです。
以下のダイアログ右ペインから編集を押下。
スクリプトの内容が表示されるので、
1 2 3 4 5 6 7 8 9 10 | if user_choice is "Yes" then tell application "Finder" --go to the desktop activate --open the folder open this_folder --select the items reveal the added_items end tell end if |
の部分を
1 2 3 4 5 6 | if user_choice is "Yes" then tell application "Preview" open added_items active end tell end if |
と変更するだけです。
本当はファイル名に「スクリーンショット」があれば
と言う条件を付けたかったのですが、今回は割愛させていただきました。
スクリーン・ショット時のみに絞ったスクリプトを記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | property dialog_timeout : 30 -- set the amount of time before dialogs auto-answer. on adding folder items to this_folder after receiving added_items try tell application "Finder" --get the name of the folder set the folder_name to the name of this_folder repeat with aFile in added_items set fname to (aFile's name) as Unicode text end repeat end tell if fname contains "スクリーンショット" then -- find out how many new items have been placed in the folder set the item_count to the number of items in the added_items --create the alert string set alert_message to ("監視スクリプト発動!:" & return & return) as Unicode text if the item_count is greater than 1 then set alert_message to alert_message & (the item_count as text) & " 個のファイルが " else set alert_message to alert_message & "一つのファイルが " end if set alert_message to alert_message & "保存されました in " & «data utxt201C» & the folder_name & «data utxt201D» & "." set the alert_message to (the alert_message & return & return & fname & return & return & "プレビューで表示しますか?") display dialog the alert_message buttons {"開く", "無視する"} default button 2 with icon 1 giving up after dialog_timeout set the user_choice to the button returned of the result if user_choice is "開く" then tell application "Preview" open added_items activate end tell end if end if end try end adding folder items to |
これで、スクリーン・ショットを撮るたびに
開くかどうか訊ねる監視スクリプトの完成です!!
(※ ただしデスクトップに何かファイル、フォルダを追加時も同様…)
Author Profile
スターフィールド編集部
SHARE