【コマンドプロンプト】ファイル名の一括変更

※この記事は「2021年4月23日」に更新しました。

今回は、コマンドプロンプトでファイル名を一括変更する方法について。

GUI環境でファイル名を変更するのは、時として煩わしい場合もあります。

そんなときに便利な方法を紹介します。

SE、Web制作、販売を経験した管理人が解説します。

コマンドプロンプトでファイル名を一括変更する

それでは、コマンドプロンプトでファイル名を一括変更する方法を解説します。

ren(rename)コマンドを使っていきます。



ren(rename)コマンド

renコマンドは、ファイル名やディレクトリ名を変更するためのものです。

ren 変更前のファイル名(フォルダ名) 変更後のファイル名(フォルダ名)

ちなみに renameコマンドも同じ内容です。

rename 変更前のファイル名(フォルダ名) 変更後のファイル名(フォルダ名)

シンプルなコマンドなので使い方も簡単です。

ワイルドカードの使い方

ワイルドカードを使えば、条件に一致するファイルやフォルダの名前を一括で変更することができます。

ワイルドカードには、以下の文字が用意されています。

文字 意味
* 任意の長さの文字
? 任意の1文字

forコマンドと併用すれば、高度な一括変更も可能

forコマンドと併用すれば、高度な一括変更も可能になります。

forコマンドについて、詳しく知りたい方は、下記記事をご参照下さい。

for(繰り返し処理)の使い方

for(繰り返し処理)の使い方【バッチファイル】

2020年4月4日

ファイル名を変更する【サンプルプログラム】

それでは、実際にファイル名を変更してみます。

ワイルドカードを使って、ファイル名を変更します。

適当なフォルダに以下のファイルを用意します。

  • a.txt
  • b.txt
  • c.txt
ファイル名を変更する

拡張子(.txt)を拡張子(.html)に変更します。

ren *.txt *.html

実行してみましょう。

ファイル名を変更する

実行結果は以下の通りです。

ファイル名を変更する

次に、ファイル名の先頭に西暦と月の6桁の数字を一括で付与してみます(HTMLファイルは、TXTファイルに戻しておきましょう)。

先程のように共通部分を一括で変更するのは簡単ですが、今回は少し工夫が必要です。

このような場合は、forコマンドと併用します。

for %a in (*.txt) do (ren %a 202101%a)

実行してみましょう。

ファイル名を変更する

実行結果は以下の通りです。

ファイル名を変更する

最後に【ファイル名の変更について】

いかがでしょうか。

今回は、コマンドプロンプトでファイル名を一括変更する方法について、解説しました。

正直、コマンドプロンプト(MS-DOS時代)の forコマンドは、今となっては、わかりにくい仕様ではあります。

しかし、GUI環境に慣れている方にとっては、逆に新鮮だったのではないでしょうか?

ファイル名の変更を一つ一つ手動でやっていく作業は、面倒なものです。

このような作業は、CUI環境の方が得意だったりします。

ネットワーク管理者やソフトウェア開発者は、GUI と CUI を上手く使い分けています。