·4分で読めます

Macでファイル名から文字を一括削除する方法

余計な文字やランダムなプレフィックス、不要なサフィックスが混じったファイル名は検索や並べ替えがしづらくなります。数十件、数百件ある場合、1つずつクリーンアップするのは現実的ではありません。

エクスポートされたファイルは、名前に余計なものを付け足しがちです。スキャナーはあらゆるファイルに「Scan_」を付けます。CMSは12文字のIDを先頭に追加します。ダウンロードでは、同名のファイルがすでに存在するという理由で「(1)」が末尾に付きます。クライアントからは、スペースや特殊文字、統一感のない大文字・小文字が混在したファイルが送られてきて、整理されていたはずのフォルダが混沌としてしまいます。

数十件、数百件のファイルから、こうした余計な文字を取り除く必要があります。手作業で行うということは、1件ごとにクリックし、選択し、削除し、Enterキーを押すということです。それはワークフローと呼べるものではなく、もはや苦行です。

Finderではできないこと

Finderのリネームツールには検索と置換の機能があり、ある程度の文字削除には対応できます。すべてのファイルの先頭に「Scan_」が付いているなら、「Scan_」を空文字に置き換えればよいのです。しかしFinderには次のようなことができません。

  • 位置指定による文字の削除(例:「先頭の5文字を削除する」)
  • 末尾からの文字削除(例:「最後のアンダースコア以降をすべて削除する」)
  • パターンにマッチする文字の削除(例:「(1)、(2)、(copy)のようなかっこ書きをすべて削除する」)
  • 1回の操作で複数の削除を連結すること

削除したい文字がすべてのファイルで完全に同一でない場合、Finderの完全一致による文字マッチングは役に立ちません。

Renymによる文字の一括削除

Renymでは、ファイル名から文字を削除する方法が複数用意されており、それらを1つのパイプラインの中で組み合わせることができます。

Renym removing characters from file names in bulk on macOS

位置による削除

すべてのファイル名から、先頭N文字または末尾N文字を削除します。内容は異なっても長さが一定のプレフィックスやサフィックスを取り除くのに最適です。

パターンによる削除

正規表現を使えば、変化するテキストにマッチさせて削除できます。\s*\(\d+\)のようなパターンを使えば、数字に関係なく「(1)」「(2)」「(3)」といったサフィックスをすべて削除できます。^[A-Z]{3}_のようなパターンなら、アンダースコアが続く3文字のプレフィックスをすべて取り除けます。

検索と置換による削除

単純なケースでは、不要なテキストを見つけて空文字に置き換えるだけです。「Copy of 」「Scan_」「 - final」のような一定の文字列に対して有効です。

削除を連結する

プレフィックスの削除、かっこ書きサフィックスの削除、そして残ってしまった二重スペースのクリーンアップまでまとめて行いたい場合は、パイプラインに3つのアクションを追加すればよいのです。それぞれが前のステップの結果に対して動作し、ライブプレビューがすべてのファイルの最終結果を示してくれます。

ファイル名は、きれいで、一貫性があり、検索可能であるべきです。そうなっていないなら、Renymで5分作業するだけでバッチ全体を修正できます。

Mac App StoreでRenymを入手

次の記事

Renym

Rename hundreds of files with visual pipelines — regex, numbering, case changes.

Get Renym on the Mac App Store