ファイル名の一括変更をどう選ぶか|5つの条件で見分ける
ファイル名の一括変更をどう選ぶかは、機能の多さでは決まりません。同じ作業でも、対象が20件か2万件か、今回だけか毎週かで、向く手段が変わります。この記事は、選ぶときに突き合わせる条件を5つに絞り、それぞれをどう確かめるかを並べます。道具の名前を先に決めず、条件から逆算する順番で進めます。
選ぶ前に、件数と頻度を数える
最初に出す数字は2つです。今回の対象が何件あるか。同じ作業を今後も繰り返すか。
件数は、実行前の確認方法を決めます。20件までなら、変更後の名前を目で全部読めます。数百件を超えると目視は成立せず、間違いは「全部同じ形で間違っている」という形でしか現れません。数千件になると、実行そのものに時間がかかり、途中で止まったときにどこまで進んだのかを知る手段が要ります。
頻度は、手段を残す必要があるかどうかを決めます。今回だけの作業に仕組みを組むのは時間の使い道として重く、毎週繰り返す作業を毎回手で組むのは間違いが入ります。目安として、3回目が来ると分かった時点で、残る形に作り直す価値が出ます。
この2つを出さずに手段を選ぶと、20件の作業に自動化を組むか、2万件の作業を手で確認しようとするかのどちらかになります。どちらも、途中で投げ出す原因になります。
件数の数え方も決めておきます。フォルダを開いて窓の下に出る件数の表示は、いま表示されている階層のものだけを数えています。サブフォルダの中まで含めた数を知りたいときは、検索の結果として並べ直すか、ターミナルで数えます。この2つの数字が大きく離れているなら、対象の決め方そのものを先に直したほうが早く終わります。
条件1:実行前に結果が読めるか
一括変更で最も避けたい状態は、実行してから間違いに気づくことです。実行前に結果を読める手段かどうかは、最初に確かめる条件になります。
Finderの一括変更には、パネルの下に例が出ます。選択した中の先頭のファイルに対して、入力中の条件を当てたらどうなるかが即座に表示されます。この行が意図と違えば、まだ何も起きていません。
ターミナルで組む場合は、動かさずに一覧だけを出す指定が使えます。zshに用意されている zmv は、autoload -U zmv を通したあと zmv -n '(*).txt' '$1.md' のように -n を付けると、実行される予定の変更を全部表示して、ファイルには何もしません。この一覧を数十行眺めてから -n を外す流れが、そのまま確認の手順になります。
どちらも使えない場面では、対象のフォルダを複製してから複製の側に当てる方法が残ります。件数が多い、あるいは動画のようにサイズが大きい素材では複製に時間がかかるため、この方法が成立するかどうかも選ぶ条件の一部です。
件数が数百件を超えると、一覧を最初から最後まで読むのは現実的ではありません。読む場所を決めておくと確認が成立します。先頭の数件、末尾の数件、それに名前がいちばん長いものと短いもの。条件の間違いは、例外的な形の名前で最初に表面化します。全部を平均的に眺めるより、端にあるものだけを見るほうが早く見つかります。
条件2:戻せるか
次に確かめるのは、間違えたあとに戻る道があるかどうかです。ここは手段によって大きく差が出ます。
Finderの操作は、直後であれば編集メニューの取り消しで元に戻ります。ただし取り消しの枠は1つ分しかなく、別の操作を挟むと置き換わります。実行したら、まず結果を見てから次の操作に移る。この順番を崩すと、戻る道が消えます。
ターミナルから変えた場合、取り消しの仕組みはありません。戻すには、変更前の名前と変更後の名前の対応表が要ります。実行の前に対象の一覧をテキストへ書き出しておけば、この表が手に入ります。1行で済む準備ですが、これがあるかないかで、間違えたときの結末が変わります。
クラウド同期の下にあるファイルは、サービス側の版管理から戻せる場合があります。ただし版管理が残すのは中身であって、名前の履歴を持たないサービスもあります。戻せる前提で進める場合は、実際に1件だけ試してから本番に進みます。
条件3:使える材料がそろうか
条件に使える材料の幅は、手段ごとにはっきり違います。Finderの一括変更は、文字列の置き換え、前か後ろへの文字列の追加、それに書式の3つです。書式については、Appleのユーザガイドが扱える材料を明示しています。
フォーマット: ポップアップメニューで「フォーマット」を選択し、ファイルに適用する名前のフォーマットを選択して、名前の前またはあとに追加するインデックス、カウンタ、または日付を選択します。「カスタムフォーマット」フィールドに名前を入力し、開始する数字を入力します。 出典: support.apple.com
ここに無いものは、Finderでは作れません。名前の途中にある日付の並びを入れ替える、桁数をそろえる、条件によって処理を分ける。こうした指定は入口からありません。何度試しても通らないと感じるなら、機能の外側に手を伸ばしています。
ターミナルなら、パターンで一致させた部分を並べ替えられます。写真の撮影日時のようにファイルの中に入っている情報を使いたい場合は、その情報を読み出す道具を挟む必要があり、手段の選択が1段増えます。求める材料がファイル名の中にあるのか外にあるのかを先に見分けておくと、選択肢が半分に絞れます。
条件4:どこまで届くか
対象の置き場所によって、届かない手段が出てきます。ここは見落とされやすい条件です。
サブフォルダの中まで対象にできるかは、手段ごとに違います。Finderは選んだ項目だけを扱うため、階層の下にあるものは検索で拾ってから選び直します。ターミナルでは再帰的に降りる指定が使えますが、意図せず深い階層まで届いて、関係のないファイルを巻き込むことがあります。どこまで降りるかを明示する指定を書くほうが安全です。
外付けドライブでは、形式の制約が加わります。Windowsで使われていたNTFS形式のドライブは、macOSからは読むことしかできないため、名前の変更だけができません。ネットワーク越しの共有フォルダでは、自分に編集の権限があるかどうかが先に効きます。閲覧のみで招待されている場所では、どの手段を使っても結果は同じです。
同じ理由で、共有されているフォルダでは実行の時間帯も条件になります。ほかの人が同じファイルを開いている最中に名前を変えると、相手の側でファイルが行方不明になったように見えます。共有された場所を扱う手段を選ぶときは、いつ実行するかまで含めて決めておきます。
クラウド同期の下では、実体が手元に無いファイルが混ざります。しばらく開いていないファイルは目次だけが残る状態になり、名前を変えようとすると先にダウンロードが走ります。件数が多いと途中で止まるため、対象をまとめてダウンロードしてから実行する手順を前に置きます。
条件の外にある2つの落とし穴
5つの条件を満たす手段を選んでも、実行時に引っかかる場所が2つあります。どちらも選ぶ段階で確かめられます。
1つは拡張子です。名前の末尾を置き換える条件を書くと、拡張子まで巻き込むことがあります。拡張子が変わると、そのファイルを作ったアプリで開けなくなる場合があり、見た目には名前が整ったまま中身に届かない状態になります。Finderには拡張子を表示するかどうかの設定があり、非表示のまま作業すると、画面に出ている文字列と実際の名前が食い違います。一括変更を扱うなら、拡張子を表示する設定にしてから始めます。
もう1つは、変更後に同じ名前になるファイルの存在です。日付だけが違う2つのファイルから日付を外せば、残るのは同じ名前です。Finderはこの状態を検出して止まりますが、ターミナルの mv は止まらず、先に処理された側が消えます。ゴミ箱にも残りません。試走の一覧を出したときに、同じ行が2つ並んでいないかを見る習慣を付けると、この事故は起きません。
件数が多くて目で追えないときは、変更後の名前だけを取り出して並べ替え、重複を数える処理を挟みます。1件でも重複が出たら、その条件はまだ実行できる状態ではありません。
条件5:手順として残るか
同じ作業が繰り返し来るなら、手段が形として残るかどうかが効いてきます。
Finderの操作は残りません。毎回同じ入力を繰り返すことになり、繰り返すたびに打ち間違いの機会が増えます。ターミナルのコマンドは、テキストとして残せます。ショートカットやクイックアクションにすれば、右クリックから呼び出せる形になります。
Automatorワークフローを作成するには、作成したいワークフローのタイプを選択してから、そのワークフローにアクションを追加します。 出典: support.apple.com
残す形には向き不向きがあります。テキストとして残したコマンドは、条件を1文字直すだけで別の作業に流用でき、内容を検索して探せます。反面、実行にターミナルを開く手間があり、名前を思い出せないと見つかりません。右クリックから呼べる形は、対象を選んでから実行するまでが短い代わりに、中身を確かめるにはその仕組みを開き直すことになります。週に何度も使うものは呼び出しの短い形、たまにしか使わないものは中身が読める形、と分けると迷いません。
残す形を選ぶときは、半年後の自分が読めるかどうかで判断します。条件を短く書けた手段より、何をしているかが名前と説明から分かる手段のほうが、結果的に長く使えます。使わなくなった手順を消す機会も決めておくと、右クリックのメニューが使われない項目で埋まる状態を避けられます。
条件を1枚に並べる
| 手段 | 実行前の確認 | 戻し方 | 届く範囲 | 残るか |
|---|---|---|---|---|
| Finderの一括変更 | パネル下の例 | 直後の取り消し | 選んだ項目のみ | 残らない |
| ショートカット | 動作を通知に差し替え | 自分で組む | 組み方しだい | 残る |
| クイックアクション | 同上 | 自分で組む | 選んだ項目 | 残る |
| ターミナル | 試走の指定 | 対応表を自分で用意 | 階層の下まで | テキストで残る |
この表で埋まらない欄があるなら、そこが今回の作業でいちばん危ない場所です。戻し方の欄が空いたまま数千件に実行をかけるより、件数を10件に絞って1回試すほうが早く終わります。
条件を確かめる作業自体を、1か所で
ここまでの5条件は、どれも実行の前に確かめる内容です。件数を数え、試走の一覧を出し、対応表を書き出し、権限を確かめる。この4つの確認を、フォルダの窓とターミナルとAIへの相談を行き来しながら進めると、確認そのものが面倒になり、飛ばす理由が生まれます。
フォルダとターミナルとAIが同じ窓にある置き方では、選んだ一覧がそのままコマンドの対象になり、試走の結果を見ながら条件を直せます。条件の書き方をAIに尋ねるときも、対象のファイル名が同じ画面にある状態なら、返ってくる案をその場で試走にかけられます。
この置き方で扱える範囲はできることに整理されています。2画面型やタグ管理に寄せた道具など、別の考え方で同じ問題を解いている製品との違いは他のファイル管理との比較で並べて見られます。費用の考え方は料金、細かい疑問はよくある質問にあります。
いま決めるなら、今回の対象の件数を数えるところからです。20件なら目で読む、数百件なら試走を出す、数千件なら10件で試してから広げる。この分岐だけで、選ぶべき手段は絞れます。
よくある質問
Finderの一括変更とターミナル、どちらを選べばよいですか?
今回だけの作業で、置き換えか文字の追加か連番で足りるならFinderで終わります。名前の途中を並べ替える、桁をそろえる、条件で処理を分けるといった指定が要るならターミナル側です。同じ作業が3回目になると分かった時点では、残る形に作り直す価値が出ます。
実行前に結果を確かめる方法はありますか?
Finderはパネルの下に、選択した先頭のファイルに条件を当てた例が出ます。ターミナルでは zmv に -n を付けると、実行予定の一覧だけを表示してファイルには何もしません。どちらも使えないときは、フォルダを複製して複製の側に当てます。
ターミナルで変えた名前は戻せますか?
取り消しの仕組みはありません。戻すには変更前と変更後の対応表が要るので、実行の前に対象の一覧をテキストへ書き出しておきます。この準備が無い状態で数千件に実行をかけると、元の名前を知る手段が残りません。
外付けドライブやクラウドの中でも同じように使えますか?
場所によって届かないことがあります。Windowsで使われていたNTFS形式のドライブは読むことしかできず、名前の変更はできません。共有フォルダは自分に編集の権限が要ります。クラウド同期の下では、実体が手元に無いファイルを先にダウンロードしてから実行します。