コマンドプロンプトで複数のファイル名を変更する

SPECIAL


ファイル名を一括で変更する

Windows のコマンドプロンプトでは REN コマンドを使ってファイル名を変更できますが、複数のファイルを一括で変更しようとしたときに融通が利かないところがあります。

たとえば次のコマンドを実行したとします。

REN *.png np_*.png

このようにすると、拡張子 "*.png" のファイル名を一括して名前変更することはできるのですが、変更時には、今回の場合は先頭の 3 文字を "np_" に置き換えることになるようでした。

たとえば "subtract.png" の場合は "np_tract.png" のようになるようです。

 

既存のファイルのファイル名の先頭に "np_" という文字列を追加したい場合には、次のように FOR コマンドを使って実現します。

FOR %f IN (*.png) DO REN %f np_%f

こうすることで、たとえば "subtract.png" の場合には "np_subtract.png" という名前に変更されました。

ちなみにここの %f というのは変数で、コマンドプロンプトの場合はアルファベット 1 文字で名前を付ける必要があるようです。バッチファイルで変数を使う場合は %%f というように、パーセント記号を重ねて指定します。