ファイル名を一括で変更(できるだけ楽して)

以前こんなことが、ありました。
以下のような感じで、たくさんあるファイルのファイル名の"_A_"というところを"_B_"に変えたい。

この画像は例なのですが、私が経験したケースはもっとファイル数も多く(なんでこんなにファイルがあるんだ!と思うレベル)、ファイル名ももっとグチャグチャでした。。。
でやりたかったことは(やる羽目になったことは(´・ω・`))、ファイル名の中の"_A_"を"_B_"に変更したいということ。

できるだけ楽したい!

ファイルをひとつひとつ選択して、リネームしていたらしんどい!
なので、できるだけ楽する方法を考えました。実際には昔誰かから聞いたことを思い出しました。使うものはコマンドプロンプトとエクセルっぽいやつ。

Winキー + R ボタンを押して cmd 入力してエンター!

Winキーを押しながら Rキーを押すと"ファイル名を指定して実行"ウィンドウが開きます。windows 10でも開きます。ここでcmdと入力して OKを押します。すると、真っ黒の画面が出てきます。

ここで、

cd /d D:\temp

と入力します。
ちなみに /D オプションは ディレクトリを移動するときに必要となります。今回の場合はCドライブからDドライブに変更なので必要となります。

ファイル名の一覧をコピー

次に以下のコマンドを入力します。

dir /B | clip

"B" と "c"の間の棒は Shiftキーを押しながら ¥キーを押します。

これで、ファイル名の一覧がクリップボードにコピーされます。試しにメモ帳に貼り付けてみましょう。

エクセルっぽいやつに貼り付けて、リネーム処理を作成

ここでは google docsのスプレッドシートを使用します。新規に作成してコピーしたファイル名の一覧を適当な場所に貼り付けます。

次に、一列開けてた列に(ここではD列に)、以下の関数を入力します。

=SUBSTITUTE(B4,"_A_","_B_")

ぐいっと、コピーします。

次に、左隣りの列に"ren " と入力してファイル名の数分コピーします。わかりにくいのですが、最後に空白(半角)を入力しています。

また、次もわかりにくいのですが、C列に空白(半角)を入力してファイルの数分コピーします。

つぎに、E列に以下の関数を入力します。

=CONCATENATE(A4:D4)

これでA~D列に入力された文字列が連結された文字列が表示されます。
カーソルの右下の青い四角をダブルクリックすると、下までコピーされます(便利です)。いかにアニメーションを貼り付けましたけど、わかりますかね(´・ω・`)?

E列のコピーしてコマンドプロンプトで貼付けをします。

エクスプローラーで確認してみましょう。

ファイル名が変わりました\(^o^)/。

まとめ

 * dir /B | clip でファイル名一覧をクリップボードにコピーできる。

* スプレッドシートを使うと、コマンドを作りやすい

参考サイト


この記事が気に入ったらサポートをしてみませんか?