Magicode logo
Magicode
0
5 min read

【AppleScript】【Mac】フォルダへのファイル追加時に特定のPythonスクリプトを実行する

この記事でできること

  • あるフォルダにファイルを追加した際、特定のPythonスクリプトを実行することができる

手順

  • AppleScriptを作成する
  • 作成したAppleScriptをフォルダに紐づける

AppleScriptを作成する

まずはSpotlight検索からスクリプトエディタを開きましょう。

※Spotlight検索は Command + Space で起動できます

ファイルを開く画面に行くので

Macintosh HD -> ライブラリ -> Scripts -> Forder Action Scripts

を選択し「新規書類」をクリックしてください

まずは手慣らしにMacのデスクトップのダイアログにhello worldと表示させてみましょう

エディタに

display dialog "hello world"

と記載し、▶︎を押してみてください。

画面にこのようなダイアログが出てきたら成功です。


さて、今回行いたいのは特定のPythonスクリプトを実行したい。ということなので、

iTermを開き、test.pyファイルを実行する

というスクリプトを作ってみたいと思います。

tell application "iTerm"
	activate
	set my_session to current session of current tab of current window
	tell my_session
		-- ここにターミナルコマンドを入力
		write text "cd ~/Sources/my_apps/python_apps && python test.py"
	end tell
end tell

iTermの現在のウィンドウを呼び出し、cd ~/Sources/my_apps/python_apps && python test.pyを叩きます。

▶︎を押してみましょう。

iTermが開かれ、指定したスクリプトが動いてくれました。

※test.pyはただHello World!と叫ぶだけのスクリプトです。

# test.py
print("Hello World!")

Hello World!

仕上げに、先ほどのスクリプトに”フォルダにアイテムが追加された時に動く”というトリガーを設定します

on adding folder items to this_folder after receiving added_items
	tell application "iTerm"
		activate
		delay 5
		set my_session to current session of current tab of current window
		tell my_session
			-- ここにターミナルコマンドを入力
			write text "cd ~/Sources/my_apps/python_apps && python test.py"
		end tell
	end tell
end adding folder items to

on adding folder items to this_folder after receiving added_items

end adding folder items to

がトリガーの部分ですね

※iTermの準備が整う前にコマンドを実行しようとしてうまくいかないことがあったのでファイルが追加されてから5秒後(delay 5)にコマンドが叩かれるようにしてます。

作成したスクリプトは適当な名前を付けて保存しましょう。

※保存時に書類“〜”を保存できませんでした。などのエラーが出る場合は、Folder Action Scriptsフォルダへの書き込み権限がないかもしれません。その場合は、Folder Action Scriptsフォルダを右クリック -> 情報を見る -> 共有とアクセス権から書き込み権限を付与してください

ここまででほぼ準備は完了です。

作成したAppleScriptをフォルダに紐づける

最後に、作成したAppleScriptとフォルダを紐づけましょう。

適当なフォルダを作成。

作成したフォルダを右クリック(タッチパッドを2指クリック)し、

サービス -> フォルダアクション設定

をクリック

フォルダアクション設定画面が出るので、フォルダアクションを適用したいフォルダを選択

紐づけるアクションを選択するには「+」ボタンをクリックします

様々なスクリプトが表示されますがここで先ほど作成したスクリプトを選択し、関連付けるをクリックしてください。

この画面になったら設定完了です。 実際にこのフォルダに適当なファイルを配置してみましょう。

ファイルを配置するとiTermが起動し、5秒後にPythonスクリプトが実行されました。 成功!!

あとがき

AppleScriptには触れたばかりですが、アプリケーションを操作することも可能なようで色々とできることが増えて楽しいですね。

今回は以上となります。


閲覧いただきありがとうございました。みなさんのお役に立てましたら幸いです!

コメントやいいねしていただけますと励みになります☺️

Discussion

コメントにはログインが必要です。