Windowsのバッチファイルでファイル名を変更する際に便利なrenameコマンド(またはren)の使い方を解説します。本記事では、基本的な構文から応用例までを詳しく紹介し、ファイル名の一括変更や特定のパターンに基づいたリネーム方法を学ぶことができます。バッチファイルの自動化に活用し、作業効率を向上させましょう。
Windowsのrenameコマンドは、ファイルやフォルダの名前を変更するためのコマンドです。
rename <旧ファイル名> <新ファイル名> または、
ren <旧ファイル名> <新ファイル名> rename oldfile.txt newfile.txt または
ren oldfile.txt newfile.txt このコマンドは、oldfile.txtをnewfile.txtに変更します。
rename oldfolder newfolder renameコマンドでは、ファイルの拡張子を変更することはできません。* や ?)を使って複数のファイルを一括でリネームすることが可能ですが、一部のケースで動作が制限されることがあります。renameはファイルが存在するディレクトリ内でのみ動作します。ren *.txt *.log このコマンドは、同じフォルダ内のすべての.txtファイルの拡張子を.logに変更します。
ren oldfile*.txt newfile*.txt oldfile1.txt、oldfile2.txtなどをnewfile1.txt、newfile2.txtに変更します。
バッチファイルを作成すれば、複数のリネーム処理を自動化できます。
@echo off
setlocal enabledelayedexpansion
set count=1
for %%f in (*.txt) do (
set newname=file!count!.txt
ren "%%f" "!newname!"
set /a count+=1
) このバッチスクリプトは、現在のディレクトリ内のすべての.txtファイルをfile1.txt、file2.txtのように連番付きでリネームします。
バッチファイルではrenameコマンドだけでは特定の文字列を置換できませんが、forループを使えば実現できます。
@echo off
for %%f in (*old*.txt) do (
set newname=%%f
set newname=!newname:old=new!
ren "%%f" "!newname!"
) このスクリプトは、oldをnewに置換し、例えばoldfile.txtをnewfile.txtに変更します。
renameコマンドはシンプルながら、ワイルドカードやforループと組み合わせることで強力なリネームツールになります。バッチファイルを活用して、効率的にファイル管理を行いましょう。