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
ループと組み合わせることで強力なリネームツールになります。バッチファイルを活用して、効率的にファイル管理を行いましょう。