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

ファイル名を一括で変更する

※この記事は「2023年7月20日」に更新しました。

コマンドプロンプト講座です。

今回は、ファイル名を一括で変更する方法について、解説します。

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

ファイル名を一括で変更する方法

ファイル名を一括で変更する方法を解説します。



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)
ぱそた
これで自分で日付を手打ちする必要がなくなります。

最後に

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

前回は、文字列操作について紹介しました。

文字列操作

【コマンドプロンプト講座】文字列操作

2019年11月29日

こういった古典的なものも使い込むと結構便利になるものです。

こだわって処理が複雑になりすぎると、他の人が読んだときに理解しにくいものになりがちですが、自分で使う分には問題ありません。

歴史を学ぶという意味でも他の言語と比較すると応用ができるので、色々試してみましょう。