「バッチファイルでリネーム」

注意:この記事の内容は WindowXP で検証しました。他のバージョンでは違う結果になるかもしれません。

コマンドプロンプトREN コマンドでは、簡単なワイルドカードが使えます(REN=Rename)。

REN *.html *.htm

これでフォルダ内の html ファイルを全てリネームできるわけです。使うかどうか分かりませんが、以下のようにも書けます。

REN aaa*.html bbb*.htm

「aaaBBB.html」というファイルがあったら、「bbbBBB.htm」にリネームする訳ですね。さらに for コマンドを併用すれば、サブフォルダ内のファイルを一気にリネームすることもできます。


for コマンドは奥が深いのですが、とりあえずカレントフォルダのファイル名を表示してみます。

FOR %%i in (*.*) do  (
    ECHO %%i
)

これだけでOK。ちなみにコマンドラインで入力するときは %%i の部分を %i にしておきましょう(%%エスケープ文字なのですね)。

これを応用して、カレントフォルダ以下のフォルダの中身をリネームするバッチファイルは以下のようになります。

FOR /r /d %%i in (*) do (
	REN "%%i\*.zip" "*.cbz"
)

ここでは「 /r:子フォルダの中のフォルダまで対象に」と「/d :フォルダを対象に」という2つのオプションを使っています。おまけとして、カレントフォルダの中身および、カレントフォルダに含まれるフォルダの中身をすべてリネームするサンプルをどうぞ。

サンプル: zip→cbz.bat