バッチファイルでファイル名を変更する方法と具体例
普段パソコンを使っている中で、特定のファイルのファイル名を変更する機会はたくさんあるかと思います。
また、特定の規則に合わせてファイルをまとめて変更したいケースもあるんじゃないでしょうか。
今回はコマンドプロンプトを使って、ファイル名を変更する方法を紹介します。バッチファイルも同様の記述で実現できます。
使用するコマンド
ファイル名の変更には、rename
コマンドを使用します。名前の通りで覚えやすいですね。
省略されたren
コマンドもありますが、実行される処理は同じです。
1 つ目の引数として現在のファイル名、2 つ目の引数として変更したいファイル名を指定することで、ファイル名を変更することが可能です。
コマンドプロンプトから実行
マイドキュメントに保存されている「before.txt」というファイルを「after.txt」にリネームするサンプルです。

コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
C:\users\user>rename before.txt after.txt
|
バッチファイルから実行
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
rename %FOLDER%before.txt after.txt
endlocal
exit
まとめてリネームを行う
rename
コマンドでは、1 つ目、2 つ目の引数それぞれでワイルドカードの指定が可能です。
これを利用して、複数のファイルをまとめてリネームすることができます。
少し複雑なため、いくつか例を紹介します。
コマンドプロンプトから実行
マイドキュメントの「disposable」フォルダに保存されている「before.txt」の拡張子をhtml
に変更するサンプルです。

コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
C:\users\user>rename disposable\before.txt *.html
|
複数のファイルの先頭に決まった文字列を追加したい場合などは、rename
コマンドだけでは解決できないため、For
ループを使って実現します。

コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
C:\users\user\disposable>for %f in (*) do rename %f renamed_%f
|