私は写真を撮ることも趣味の一つとしていますが、RAWで撮った写真をMacに取り込んでLightroom Classicで現像し、AirDropiPhoneに転送してそこからInstagramなどに投稿する、というのが私の通常のワークフローです。RAWで撮るのは撮影時にあまり時間をかけられないことが多いので、ホワイトバランスに気を使わず、光量がある程度適当でも後で調整が効く融通の良さを取っているためですが、その分正直なところ撮影後の工程が面倒に感じてしまうこともあります。

そのため、それを少しでも楽にしたいということで、Macに取り込むときにはSDカードをリーダーに入れてUSBハブに挿して繋ぐだけで、自動的にハードディスクに撮影日ごとにフォルダを作成して、仕分けしてコピーしてくれるように、仕組みを作って運用しています。これを作るまでは手作業でフォルダを作成してドラッグ&ドロップしていたのですが、このおかげで圧倒的に楽になりました。せっかくコンピューターを使っているのですから、定型作業は自動化しなければもったいないです。

この撮影日ごとのフォルダを作ってから画像ファイルをコピーするというのは、自分でPerlスクリプトを書いて作ったのですが、SDカードを認識したらそのスクリプトを自動的に起動するという仕組みが必要になります。そこに以前はmacOSに標準のAutomatorという、様々なアプリのスクリプトなどを組み合わせてワークフローを作成するアプリを使っていました。このAutomatorから、フォルダアクションという機能でフォルダを監視して、「新しいファイルが作成されたら」というようなトリガーをかけることができるので、これを使って手製のPerlスクリプトを起動していたわけです。

しかし、先日Macを再設定することになって、どうやってやっていたかな、今度はすぐにできるように記録しておこう、と思って調べてみたところ、今はAutomatorよりもShortcutsを使ったほうが簡単で安全ということがわかったのでした。実はAutomatorを使って構築したときにもすでにShortcutsは存在していたのですが、インターネット上に参考になる資料が見つからなかったため、私もAutomatorを使っていたわけです。今回はChatGPTに聞いてみたので、最新の情報を元により良い方法を知ることができたというわけです。

実際に使ってみても、Automatorの時よりも明らかに簡単に設定することができました。Perlスクリプトを起動するところは「シェルスクリプトを実行」というアクションを使うだけで、このアクションを「外部ドライブ」というオートメーションで接続されたときに起動するように設定するだけです。フォルダアクションとは違って特定のドライブ名を指定することもできるので、他の機器を接続した時までスクリプトが動いてしまうようなことがないのも良いところです。

オートメーションのトリガーやアクションは他にもたくさんあるので、工夫次第で色々なことができると思います。私はiPhoneのShortcutsではYouTubeアプリを起動した時に画面の回転を許可して、終了したらロックする、というような使い方をしていますが、Macでも何か便利な使い方ができるでしょうか。そのような情報を共有しているようなウェブサイトもありそうですし、そこでは何かとんでもないことを実現している人もいそうですね。Appleがそういう情報も積極的に流してもいいような気がしますが…既にあったらごめんなさい。