こんなことを知りたい人へ向けて書いています
- Windowsバッチファイルのファイル・フォルダ名を変更するコマンドを知りたい方
- 「rename」コマンドについて詳しく知りたい方
目次
- 「rename」コマンドの使い方
- 短縮形の「ren」コマンド
- ファイル名はそのままで拡張子だけ変更する
- 別のフォルダ内のファイル名を変更する
- 複数のファイルの拡張子を一気に変更する
- 複数のファイル名の共通部分を一括で変更する
- 元のファイル・フォルダを残したい場合は「copy」コマンド
その他の関連しそうな記事
「rename」コマンドの使い方
「rename」はファイルやフォルダの名前を変更するためのコマンドです。
第1引数に「変更前のファイル・フォルダ名」、第2引数に「変更後のファイル・フォルダ名」を指定します。以下のような感じです。
1 |
rename [変更前のファイル・フォルダ名] [変更後のファイル・フォルダ名] |
例えば、「file.txt」というファイルを「renfile.txt」と名前の変更をしたい場合は、
1 |
rename file.txt renfile.txt |
となります。
またフォルダの場合も同様で、「folder」フォルダを「renfolder」と名前を変更したいときは、
1 |
rename folder renfolder |
です。
以下はファイルとフォルダの名前を変更するときのコマンドの実行画面です。
「rename」コマンドの実行前後で「dir /b」コマンドでファイル名とフォルダをチェックしていますが、「rename」コマンドを実行後にきちんとファイルとフォルダの名前が変更されていることが分かります。
短縮形の「ren」コマンド
一般的には、「rename」コマンドの代わりに短縮形の「ren」コマンドがよく使われます。以下のような感じです。
1 2 |
ren file.txt renfile.txt ren folder renfolder |
コマンドの機能としては、「rename」と全く同じです。
以下、実行例です。
なお、「rename (ren)」に、オプションはありません。
ファイル名はそのままで拡張子だけ変更する
ファイル名はそのままで拡張子だけ変更したい場合は、少しだけ楽に書く方法があります。それは以下のようにします。
1 2 |
rename [ファイル名].[変更前の拡張子] *.[変更後の拡張子] ren [ファイル名].[変更前の拡張子] *.[変更後の拡張子] |
「rename(ren)」コマンドの第1引数には通常どおり変更前のファイル名を書きます。続いて、変更後の第2引数には拡張子を除いたファイル名部分をワイルドカード「*」にして、そのあとに「.[変更後の拡張子]」を記述します。
例えば、「file.txt」ファイルを「file.dat」ファイルに変更したい場合は以下のようになります。
1 |
rename file.txt *.dat |
これを実行すると、
とファイル名はそのままで拡張子だけが「txt」から「dat」になっていることが分かります。
もちろん、
1 |
rename file.txt file.dat |
としても同じ結果が得られますが、長いファイル名の拡張子だけを変更したいときは結構ありますので、こちらを使用すると少し楽になります。
別のフォルダ内のファイル名を変更する
現在いるフォルダ内のファイル名ではなく、別のフォルダ内に存在するファイル名も変更することができます。
それには、以下のように変更前のファイル名をパス付きで指定します。
1 |
rename [変更前のパス付きファイル名] [変更後のファイル名] |
注意するのは第2引数の[変更後のファイル名]です。ここには、変更後のファイル名のみを指定しパスは必要ありません。
例として、「folder」フォルダ内の「file.txt」というファイルを「file_ren.txt」と名前を変更したい場合を考えます。このときのコマンドは以下のようになります。
1 |
rename folder\file.txt file_ren.txt |
これで、「folder」フォルダ内の「file.txt」ファイルを「file_ren.txt」というファイル名に変更できます。ファイルの場所は変わりません。「folder」フォルダの中です。
以下、上記のコマンドを実行した結果です。
複数のファイルの拡張子を一気に変更する
一気に複数のファイルの拡張子を変更することも可能です。例えば、現在のフォルダに入っているある拡張子のファイル全てを対象に、拡張子のみを変更したい場合は以下のようになります。
1 |
rename *.[変更前の拡張子] *.[変更後の拡張子] |
第1引数の変更前のファイル名と第2引数の変更後のファイル名のどちらにもワイルドカード「*」を指定します。そして、それぞれに変更したい拡張子と変更後の拡張子を指定して置けばオッケーです。
例えば、フォルダ内の「.txt」という拡張子を持ったファイルを全て「.dat」という拡張子に変更したい場合は、
1 |
rename *.txt *.dat |
となります。
また、全てのファイルではなく特定のファイルの拡張子だけを一気に変換したい場合には、ワイルドカードとあわせて共通しているファイル名の部分を書いておきます。例えば、「ren_」から始まるtxtファイル(拡張子が「.txt」)だけをdatファイルに変換したい場合は、
1 |
rename ren_*.txt *.dat |
となります。これにより、ファイル名が
- ren_file.txt
- ren_会議資料.txt
などの拡張子が「dat」に変更されます。逆に、
- file.txt
- ren_会議資料.doc ※拡張子が「txt」ではない
などのファイルは変換の対象になりません。
複数のファイル名の共通部分を一括で変更する
複数のファイルで名前に共通部分を持ったファイル群に対しては、ワイルドカードを使用して共通の部分だけを一括で変更する方法が存在します。それには以下のようなコマンドを用います。
1 |
rename [変更前の共通部分][異なる部分].[拡張子] [変更後の共通部分][異なる部分].[拡張子] |
これでは分かりにくいので例を用いて説明します。次のようなファイル群があったとします。
- EXAM_20031208.txt
- EXAM_20070918.txt
- EXAM_20121222.txt
これらのファイル名の共通部分は「EXAM_」の部分です。この部分を「TEST_」へ一括して変更して以下のようなファイル群を作ってみましょう。
- TEST_20031208.txt
- TEST_20070918.txt
- TEST_20121222.txt
コマンドは以下のようになります。
1 |
rename EXAM_*.txt TEST_*.txt |
ファイル名の変更したい共通部分を指定し、異なる部分はワイルドカードで表現します。以下、実際の実行結果です。
元のファイル・フォルダを残したい場合は「copy」コマンド
「rename(ren)」コマンドを使用してファイル(フォルダ)名を変更すると、当然元のファイル(フォルダ)名を持ったファイル(フォルダ)は存在しなくなります。
元のファイル(フォルダ)名に加えて、新しい名前のファイル(フォルダ)を作るようなコピー操作を行いたい場合には、「rename(ren)」コマンドの代わりに「copy」コマンドを使用します。
「copy」コマンドは、ファイルやフォルダを名前を変えて複製するコマンドなので、元のファイル(フォルダ)を残しつつ新しい名前のファイル(フォルダ)を作成します。
使用方法は、基本的に「ren(rename)」コマンドと同様です。
1 2 |
copy file.txt renfile.txt copy folder renfolder |
ただし、「copy」コマンドにはいくつかのオプションが指定できます。詳しくは、「copy(ファイルのコピー) -コマンド別解説-」を参照して下さい。
コメント