※この記事は「2023年7月20日」に更新しました。
コマンドプロンプト講座です。
今回は、ファイル名を一括で変更する方法について、解説します。
ファイル名を一括で変更する方法
ファイル名を一括で変更する方法を解説します。
renコマンド
まずは、ファイル名を変更する renコマンドについて、解説します。
ren 名前変更前のファイル 名前変更後のファイル
非常に簡単です。
まずは、cdコマンドを使って、ファイル名を変更するフォルダへ移動します。
今回は、適当に test.txt というファイルをつくっています。
次に、以下のコマンドを実行します。
ren test.txt test2.txt
結果は、以下の通りです。
無事ファイル名が変更されました。
ワイルドカードを使う
ワイルドカードは、任意の文字を表す特殊な文字のことです。
条件に一致するファイルをまとめて指定することができます。
- * → 任意の長さの文字
- ? → 任意の1文字
拡張子だけを変更する場合、以下のようなコマンドで変更できます。
ren *.txt *.html
しかし、ファイル名を変更する場合、もう一工夫必要になります。
ファイル名の先頭に 20191219 を追加するバッチファイルです(テキストファイル)。
@echo off for %%a in (*.txt) do (ren %%a 20191219%%a)
ファイルを対象とした forコマンドのループ処理です。
それでは先程のフォルダに適当なファイルを追加していきましょう。
この状態からバッチファイルを実行すると以下のようになります。
今日の日付をファイル名の先頭に加えるバッチファイル
今日の日付をファイル名の先頭に加えるバッチファイルです。
@echo off set year=%date:~0,4% set month=%date:~5,2% set day=%date:~8,2% set mydate=%year%%month%%day% for %%a in (*.txt) do (ren %%a %mydate%%%a)
最後に
今回は、ファイル名を一括で変更する方法について、解説しました。
前回は、文字列操作について紹介しました。
こういった古典的なものも使い込むと結構便利になるものです。
こだわって処理が複雑になりすぎると、他の人が読んだときに理解しにくいものになりがちですが、自分で使う分には問題ありません。
歴史を学ぶという意味でも他の言語と比較すると応用ができるので、色々試してみましょう。