🤖

macのフォルダアクションを試したみた

2023/01/03に公開

以前に動画変換をちまちま準備してたことがあります。

ffmpeg でやったことまとめ

macOSには、古くから「フォルダアクション」(MacのAutomatorでワークフローを作成する)という機能がAutomatorで提供されています。フォルダアクションとは、特定のフォルダへファイルを配置すると、自動的にキックしてくれるスグレモノです。偉い。

いちいち、ちまちまとファイルのリストを作って動画の変換をするのは億劫です。特定のフォルダへ、ファイルをドバっと突っ込んだら自動的に変換してくれたほうが圧倒的に楽です。新しいファイルを作るときには、そのフォルダに作ってしまえば自動的にコンバートもされてしまう。素敵じゃないですか。

ということで、設定しました。

Automator でがんばる

Automatorを起動して、「フォルダアクション」を選択します。わいの環境は英語環境なので"Folder Action"です。

あとはよく見る画面が出てくるので「シェルスクリプトを実行」で、特定のシェルスクリプトを、そのまま実行すればOKです。

ここで気をつけるべしは、2つ。

  1. 「入力の引き渡し方法」(英語だとPass inputとなっているとこ)を"stdin"なのか"引数として"なのか、作ったシェルに合わせること
  2. 複数のファイルが同時にフォルダに入ってきた場合には、一度に複数のファイル名がまとめて引数とされること

ということなので、今回作成済みのシェルスクリプトは「引数として」受け取るようにしていました。その際には${@}として複数の引数を受け入れられるようにします。元のシェルスクリプト側では、複数の引数を処理できるようにしておきましょう。

Automator上でスクリプトを書いても実現できますけど、Automator上で作成したりするのは面倒なので、外出しのファイルを実行したほうが良さそう。です。

Discussion