Automatorを使用してファイル名を条件に応じて一括変更する方法

Macで特定拡張子や特定日時のファイルを一括でリネーム(バッチリネーム)する方法を紹介。

Finderで複数項目を選択して「名称変更」をクリックしてもリネームが可能だが、条件の指定に関して柔軟性に欠ける

Finder上でファイルを選択して「名称変更」をクリックすることでも一括リネームは可能だが、元となるファイルが膨大な数であったり「特定拡張子のみをリネームする」といった場合にはAutomatorを使用した方が便利だ。

ファイル名一括変更(バッチリネーム)手順

1. Automatorをアクセシビリティに追加し制御を許可する

まず事前にシステム環境設定の「セキュリティとプライバシー」の「プライバシー」の項目で「アクセシビリティ(①)」を開き、「+ボタン(②)」でAutomatorアプリケーションを追加し制御を許可しておく(③)。

2. Automatorを起動してクイックアクションを選択

次にmacOSにデフォルトで存在するAutomatorを起動して「新規書類」を作成しよう。

上記画面が出たら「クイックアクション」をクリックして「選択」ボタンをクリック。

3. 「ワークフローが受け取る現在の項目」を「入力なし」に設定

クイックアクションを選択して上記画面が表示されたらウィンドウ上部の「ワークフローが受け取る現在の項目」をクリック。

一覧から「入力なし」をクリックして選択。

4. 「Finder項目を検索」のアクションを追加して条件を指定

続いてアクションの一覧から「Finder項目を検索(①)」のアクションを右のエリアにドラッグして追加(②)。

続いて「Finder項目を検索」で検索フォルダや検索条件を好みで指定する。

僕の場合は「New Eye Catch」フォルダにある「Affinity Photoファイル(afphoto)」のファイル名を一括変更したいので「”ファイル拡張子”が”afphoto”で”始まる”」という条件に指定した。

5. 「Finder項目の名前を変更」のアクションを追加してリネームを指定

続いて「Finder項目の名前を変更(①)」のアクションを右のエリアにドラッグして追加する(①)。

なお、この際に下記のようなダイアログが表示される。

「追加」をクリックすればオリジナルのファイルのコピーを残してリネームを行うことが可能だ。

「リネームが失敗した」、「思った通りにリネームできなかった」といった場合にオリジナルファイルを残しておきたい場合は「追加」をクリックしよう(ここでは管理人は「追加しない」を選択した)。

続いて「Finder項目の名前を変更」のアクションの設定をしよう。

ここでは「afphoto」という拡張子のファイル名を「eyecatch」に全てリネームし、更に名前のあとにハイフンを付けて連番にしたいので上記のような設定となる。

ここも自分の好みに応じて設定していこう。

6. クイックアクションを保存する

管理人の場合は最終的に上記のような設定になった。

続いてメニューバーの「保存」をクリックしてクイックアクションを保存しよう。

名前は何でも構わないため、好きな名前で保存しよう。

7. クイックアクションを実行してリネームされたら完了

クイックアクションを保存したらFinderを開いてメニューバーの「Finder」をクリック。

プルダウンメニューの「サービス」の項目に先ほど作成したクイックアクションがあるはずなのでクリックして実行しよう。

上記のような警告が出るので「OK」をクリック。

するとリネーム処理が始まるので正常に希望通りのファイル名にリネームされたら完了だ。

なお、連番リネームを行った場合にどのような順序でリネームが行われるのかはmacOSが自動で判断するようで、実験してみた限りユーザーが細かく連番リネームの指定を行うことはできないようだった。

8. ワークフローを削除する場合

作成したワークフローを削除する場合は下記の場所にある「~.workflow」ファイルを削除する。

~/Library/Services

もしくは下記ターミナルコマンドでも可。

sudo rm ~/Library/Services ファイル名.workflow

まとめ

Automatorを使用すれば「コンピュータ内にある特定のファイル全てを一括でリネームする」といったことすら可能なため、リネームするファイルが膨大であったり特殊な条件を指定したい場合はFinder上でリネームするより本記事の方法の方が便利だと思う。