ByteScope

Bulk Rename

ディスク上のフォルダを選び、リネームルールを重ね、新旧の名前を全件見比べてからその場で適用 — Webページから、何もアップロードせずに。

フォルダはブラウザがこのマシン上で直接開きます。ファイル名の読み込みも、リネームも、ディスクへの書き戻しもすべてローカルで完結し、中身がこのタブの外に出ることはありません。

フォルダ

フォルダを1つ選んでください。リネームはその中のファイルだけが対象で、サブフォルダには触れません。サブフォルダを処理したいときはそれ自体を開いてください。

フォルダ
ファイル
0
選択中
0

ルール

ルールは上から順に適用され、それぞれ1つ上のルールが処理した結果に対して動きます。必要なだけ追加してください。プレビューは入力するそばから更新されます。

まだルールがありません。上のボタンから追加するとプレビューが表示されます。

適用する命名ルール

「どこでも安全」は両方のルールを合わせた和集合です。このフォルダが今夜 Windows マシンに同期されるかどうかブラウザには分からないので、Windows が黙って書き換えてしまう名前は、そのまま行方不明になるファイルです。

既定で有効です。macOS も Windows もこの設定で出荷されているためです。大文字・小文字だけを変えるリネームは一時的な名前を経由するので、追加の手順が表示されます。

ブラウザの対応状況

ファイルをその場でリネーム・削除するには File System Access API が必要で、対応しているのは Chromium 系ブラウザだけです。対応・非対応にかかわらず、以下の操作はすべてこのマシン上で行われます — アップロードは一切ありません。

機能ChromeEdgeFirefoxSafari
ディスクからフォルダを開くwindow.showDirectoryPicker — Chrome/Edge 86 以降、デスクトップのみ対応対応非対応非対応
ファイルをその場でリネームFileSystemFileHandle.move — Chrome/Edge 111 以降対応対応非対応非対応
ファイルをその場で削除FileSystemDirectoryHandle.removeEntry対応対応非対応非対応
次回のためにフォルダを記憶ハンドルはこの端末の IndexedDB に保存されますが、権限は毎回あらためて確認されます対応対応非対応非対応

このブラウザでの検出結果

  • window.showDirectoryPicker
  • FileSystemFileHandle.move
  • indexedDB

Firefox や Safari、またはスマートフォンやタブレットでは、このページは手順を説明できても実行はできません。デスクトップ版の Chrome か Edge で開いてください。

このツールについて

一括リネームはずっと「何かをインストールする」ことでした — Bulk Rename Utility、PowerRename、あるいはshellのワンライナー。Webページはアップロードされたファイルしか見えなかったからです。File System Access APIがそれを変えました。このページは showDirectoryPicker でディレクトリを1つ要求し、あなたが書き込みを許可すると、ファイルをその場でリネームします。どこにもコピーせず、何もアップロードせず、インストールもログインも要りません。制約は最後に発覚させるのではなく先に言っておきます。このAPIが存在するのはデスクトップ版のChromium系ブラウザ — ChromeとEdge — だけで、FirefoxとSafariにはありません。ページは黙って壊れる代わりに、そのことをはっきり表示します。

ルールは鎖になって、順番に効く

リネームは小さなルールを積み重ねたパイプラインで組み立てます。検索と置換、前置と後置、桁埋め付きの連番、大文字小文字の変換、そして単純なルールでは書けない仕事のための、キャプチャグループ対応の正規表現モード。写真向けには、ファイルの EXIF 撮影日を名前に差し込むルールがあります — 使うのは本物の DateTimeOriginal で、コピーのたびに変わってしまう更新日時ではありません。各ルールの出力が次のルールへ流れるので、IMG_0231.jpg は1回の実行で 2024-06-14_holiday_001.jpg になれます。

プレビューが契約書

組み立てている間は何もリネームされません。全ファイルが「今の名前」と「なる予定の正確な名前」を並べて表示され、ルールを編集するたびに計算し直されます。そして衝突は適用前に旗が立ちます。2つのファイルが同じ名前に向かっている、新しい名前が既存ファイルとぶつかる、ファイルシステムが受け付けない文字が入っている。バッチ全体を明示的に確認してから実行され、プレビューで見たリストがそのまま実行されるリストです — プレビューとディスクの間に不意打ちはありません。

取り消しと、その正直な限界

バッチ実行後はワンクリックで全部を元の名前に戻せます。新旧の名前の対応表はブラウザのローカルストレージに保存されるので、取り消しはリロードをまたいで生き残ります — タブを閉じて、後日また開き、同じフォルダを選び直しても、あのバッチはまだ元に戻せます。裏返しも正直に言っておくと、何をどうリネームしたかの記録は、次のバッチが上書きするまでブラウザの中に残り続けます。そして取り消しは魔法ではありません — 戻せるのはその名前がまだ空いている場合だけで、名前が同じなだけの別のフォルダに対しては実行を拒否します。想定している使い方はこうです。リネームして、結果を見て、間違っていたら取り消す。

よくある質問

どのブラウザで動きますか?

デスクトップ版のChromium系ブラウザです。Chrome、Edge、それにBraveやOperaのような派生。ファイルをその場でリネームするには書き込み許可付きのFile System Access APIが必要で、FirefoxとSafariは実装していません — その場合ページは壊れたツールの代わりに正直な案内を表示します。モバイルブラウザも同じ理由で対象外です。Android版Chromeも、iOSの全ブラウザも動きません。Webページから自分のディスク上のファイルをリネームできるという芸当は、APIがある場所にしか存在しない。それがこの仕組みの代金です。

ファイルはアップロードされますか?

されません — そもそもリネームでは、中身はほとんど読まれもしません。名前の変更はブラウザがあなたのディスク上で行うローカルなファイルシステム操作で、ファイルのbyteは関係がないのです。唯一の例外はEXIF撮影日ルールで、DateTimeOriginal を探すために各写真の先頭数KBをローカルで読みます。あなたのタブの中で読むだけで、どこへも行きません。このページは裏にAPIを持たない静的ファイルです — 受け取りたくても、アップロードを受け取るサーバーがありません。

2つのファイルが同じ名前になったらどうなりますか?

何かが起きる前に、プレビューが旗を立てます。リネーム後の2ファイル同士の衝突も、既存ファイルとの衝突も両方マークされ、ルールを直すか該当ファイルを外すまでバッチの適用はブロックされます。黙って上書きされることは決してありません — ファイルを壊すリネームはエラーとして扱われ、推測で解決されることはないのです。なお、バッチ内での名前の入れ替え — 2つのファイルが名前を交換する、3つ以上が輪になって回す — は衝突ではありません。ツールは片方をいったん一時的な名前に退避させてから順に実行するので、何も上書きされません。

実行したバッチは取り消せますか?

取り消せます。ツールがバッチ内の新旧の名前のペアをすべて記録していて、ワンクリックで全部を元に戻します。この記録はブラウザのローカルストレージに保存されるので、リロードしても、後日開き直しても残っています — 裏を返せば、何をリネームしたかの一覧が、次のバッチに置き換えられるまでブラウザの中に残るということでもあります。正直な限界は変わらずあります。元の名前は、その間に他の何かに取られていなければ戻せますし、名前が同じなだけの別のフォルダに取り消しが走ることはありません。保持されるのは最新のバッチ1件だけなので、取り消しは直前の実行への反応であって、過去のバッチの保管庫ではありません。

外付けドライブやネットワークフォルダでも使えますか?

OSが普通のディレクトリとしてマウントしているものなら選べるので、外付けのUSBドライブは問題なく動きます。ドライブとしてマウントされたネットワーク共有もおおむね動きますが、リネーム1件ごとに共有への往復が発生するので大きなバッチは遅くなり、取り消しは共有がまだマウントされていることに依存します。Chromiumは安全策として一部のシステムディレクトリへのアクセスを拒否します。DropboxやGoogle Driveの同期フォルダは問題ありません — 同期クライアントから見えるのは、ただの普通のリネームです。