コマンド別解説

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

>>renameのオプション簡易解説へ

こんなことを知りたい人へ向けて書いています

  • Windowsバッチファイルのファイル・フォルダ名を変更するコマンドを知りたい方
  • 「rename」コマンドについて詳しく知りたい方

 

目次

その他の関連しそうな記事

 

「rename」コマンドの使い方

「rename」はファイルやフォルダの名前を変更するためのコマンドです。

第1引数に「変更前のファイル・フォルダ名」、第2引数に「変更後のファイル・フォルダ名」を指定します。以下のような感じです。

 

例えば、「file.txt」というファイルを「renfile.txt」と名前の変更をしたい場合は、

となります。

 

またフォルダの場合も同様で、「folder」フォルダを「renfolder」と名前を変更したいときは、

です。

以下はファイルとフォルダの名前を変更するときのコマンドの実行画面です。

「rename」コマンドの実行前後で「dir /b」コマンドでファイル名とフォルダをチェックしていますが、「rename」コマンドを実行後にきちんとファイルとフォルダの名前が変更されていることが分かります。

 

短縮形の「ren」コマンド

一般的には、「rename」コマンドの代わりに短縮形の「ren」コマンドがよく使われます。以下のような感じです。

コマンドの機能としては、「rename」と全く同じです。

以下、実行例です。

なお、「rename (ren)」に、オプションはありません

 

ファイル名はそのままで拡張子だけ変更する

ファイル名はそのままで拡張子だけ変更したい場合は、少しだけ楽に書く方法があります。それは以下のようにします。

「rename(ren)」コマンドの第1引数には通常どおり変更前のファイル名を書きます。続いて、変更後の第2引数には拡張子を除いたファイル名部分をワイルドカード「*」にして、そのあとに「.[変更後の拡張子]」を記述します。

例えば、「file.txt」ファイルを「file.dat」ファイルに変更したい場合は以下のようになります。

これを実行すると、

とファイル名はそのままで拡張子だけが「txt」から「dat」になっていることが分かります。

もちろん、

としても同じ結果が得られますが、長いファイル名の拡張子だけを変更したいときは結構ありますので、こちらを使用すると少し楽になります。

 

別のフォルダ内のファイル名を変更する

現在いるフォルダ内のファイル名ではなく、別のフォルダ内に存在するファイル名も変更することができます。

それには、以下のように変更前のファイル名をパス付きで指定します。

注意するのは第2引数の[変更後のファイル名]です。ここには、変更後のファイル名のみを指定しパスは必要ありません。

例として、「folder」フォルダ内の「file.txt」というファイルを「file_ren.txt」と名前を変更したい場合を考えます。このときのコマンドは以下のようになります。

これで、「folder」フォルダ内の「file.txt」ファイルを「file_ren.txt」というファイル名に変更できます。ファイルの場所は変わりません。「folder」フォルダの中です。

以下、上記のコマンドを実行した結果です。

 

複数のファイルの拡張子を一気に変更する

一気に複数のファイルの拡張子を変更することも可能です。例えば、現在のフォルダに入っているある拡張子のファイル全てを対象に、拡張子のみを変更したい場合は以下のようになります。

第1引数の変更前のファイル名と第2引数の変更後のファイル名のどちらにもワイルドカード「*」を指定します。そして、それぞれに変更したい拡張子と変更後の拡張子を指定して置けばオッケーです。

例えば、フォルダ内の「.txt」という拡張子を持ったファイルを全て「.dat」という拡張子に変更したい場合は、

となります。

 

また、全てのファイルではなく特定のファイルの拡張子だけを一気に変換したい場合には、ワイルドカードとあわせて共通しているファイル名の部分を書いておきます。例えば、「ren_」から始まるtxtファイル(拡張子が「.txt」)だけをdatファイルに変換したい場合は、

となります。これにより、ファイル名が

  • ren_file.txt
  • ren_会議資料.txt

などの拡張子が「dat」に変更されます。逆に、

  • file.txt
  • ren_会議資料.doc ※拡張子が「txt」ではない

などのファイルは変換の対象になりません。

 

複数のファイル名の共通部分を一括で変更する

複数のファイルで名前に共通部分を持ったファイル群に対しては、ワイルドカードを使用して共通の部分だけを一括で変更する方法が存在します。それには以下のようなコマンドを用います。

これでは分かりにくいので例を用いて説明します。次のようなファイル群があったとします。

  • EXAM_20031208.txt
  • EXAM_20070918.txt
  • EXAM_20121222.txt

これらのファイル名の共通部分は「EXAM_」の部分です。この部分を「TEST_」へ一括して変更して以下のようなファイル群を作ってみましょう。

  • TEST_20031208.txt
  • TEST_20070918.txt
  • TEST_20121222.txt

コマンドは以下のようになります。

ファイル名の変更したい共通部分を指定し、異なる部分はワイルドカードで表現します。以下、実際の実行結果です。

 

元のファイル・フォルダを残したい場合は「copy」コマンド

「rename(ren)」コマンドを使用してファイル(フォルダ)名を変更すると、当然元のファイル(フォルダ)名を持ったファイル(フォルダ)は存在しなくなります。

元のファイル(フォルダ)名に加えて、新しい名前のファイル(フォルダ)を作るようなコピー操作を行いたい場合には、「rename(ren)」コマンドの代わりに「copy」コマンドを使用します。

「copy」コマンドは、ファイルやフォルダを名前を変えて複製するコマンドなので、元のファイル(フォルダ)を残しつつ新しい名前のファイル(フォルダ)を作成します。

 

使用方法は、基本的に「ren(rename)」コマンドと同様です。

ただし、「copy」コマンドにはいくつかのオプションが指定できます。詳しくは、「copy(ファイルのコピー) -コマンド別解説-」を参照して下さい。

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメントを残す