macOSのShortcutsでフォルダアクションを作りスクリーンショットを自動変換する

macOSで特定のフォルダにファイルが保存されたタイミングで処理を走らせたいとき、これまではAutomatorでフォルダアクションを作るのが定番でした。しかし今はショートカット(Shortcuts.app)というアプリが存在し、カスタムした一連の処理を1アクションで起動したり、それを特定のトリガーで起動するなどということができるようになっています。

今回は「スクリーンショットを保存したら自動でWebP形式へ変換する」という例を題材に、Shortcutsで同じことを再現する手順をまとめました。特に、ファイル保存に連動して起動したショートカットへ対象ファイルを渡すという設定に苦戦したので、備忘として残しておきます。

Shortcutsでシェルスクリプトを呼び出すショートカットを作る

まずは従来のAutomatorワークフローに相当するショートカット本体を作ります。

1. 新規ショートカットの追加

Shortcuts.appを起動したあと左カラムの「All Shortcuts」へ移動し、ウインドウ右上の + ボタンまたは ⌘ + N で新規ショートカットを作成します。

ショートカットアプリの画面

2. Run Shell Script アクションを追加する

右カラムの検索フィールドに script などと入力し、“Run Shell Script” をダブルクリックしてアクションとして追加します。

Run Shell Scriptアクションを検索して追加

初回はショートカットからスクリプトを実行する許可を与える必要があります。アラートが表示されたら設定を開き Allow Running Scripts にチェックを入れます。

スクリプト実行許可のダイアログ 許可状態に変わったRun Shell Scriptアクション

3. 入力設定をフォルダアクション向けに調整する

フォルダに追加されたファイルのパスをシェルスクリプトの引数として受け取れるよう、アクションの入力方法を設定します。

まず “Run Shell Script” の各項目を以下のようにします。

  • Input: Shortcut Input
  • Pass Input: as arguments (ここはスクリプトの仕様に合わせる)

こうすると “Run Shell Script” の上に新しくボックスが現れるので、以下のように設定します。

  • “Receives” のところを Files のみにする
  • “If there’s no input:” は Ask for, Files とする
  • ボックス内の “Receives” の行に現れる > をクリック
    • “Type:” と “Select Multiple:” をそれぞれ Shortcut Input にする

ショートカットの受信設定

続いて “Run Shell Script” アクション側の “Input:” の “Shortcut Input” をクリックすると先ほどと違うポップオーバーが出るので、この “Get:” から Added files を選択します。

追加されたファイルをスクリプトへ渡す設定

4. 変換用のシェルスクリプトを書く

設定が整ったら、実行したいスクリプトを “Run Shell Script” アクションに記述します。例えばPNG形式のスクリーンショットをcwebpでロスレスWebPに変換する場合は次のようになります。

for filename in "$@"; do
  extension="${filename##*.}"
  if [[ "$extension" == "png" ]]; then
    outputfilename="${filename%.*}.webp"
    /path/to/cwebp -lossless -mt -quiet ${filename} -o ${outputfilename}
  fi
done

環境に合わせて実行ファイルのパスや変換オプションを調整してください。

フォルダを監視するオートメーションを設定する

ショートカット本体ができたら、フォルダに新しいファイルが追加されたときに自動で起動するようオートメーションを構成します。Shortcuts.appの左サイドバーから Automation を選び、右上の + ボタンをクリックして新規オートメーションを作成します。

フォルダを選択し次へをクリック、対象のフォルダ(例: スクリーンショット保存先)を選び、トリガーの種類は追加されたときを指定します。その後に実行するショートカットとして、先ほど作成したものを選択しましょう。

フォルダを選択するオートメーションの設定 追加されたときにショートカットを実行する設定

これで設定完了です。フォルダにスクリーンショットが保存されるたびに先ほど作成したショートカットが起動し、指定したスクリプトが自動的に実行されます。

まとめ

フォルダやファイルに連動した処理をShortcuts.app (ショートカット) で扱えるようになりました。Automatorと違い処理とトリガーをそれぞれ定義して接続するというのが1つのアプリで完結するようになっており、直感的に扱いやすくなったのではないかと思います。

最終更新 2025-11-03

広告

本記事はお役に立てたでしょうか。本ブログでは匿名でのコメントや少額から(15円~)の寄付などを受け付けております。もしお役に立てたのであればご支援いただけると大変励みになります。

Built with Hugo
テーマ StackJimmy によって設計されています。