【技術共有】batファイルを使った複数ファイルのリネーム方法

こんにちは、開発ブログです。
今回は、batファイルを使って一度に複数ファイルの
リネームを行う方法をご紹介します。

■batファイルとは

batファイルとは、Windowsで、複数のコマンド(命令)などを
1つのファイルにまとめて記述し、一度に連続して実行できるようにしたものです。
ダブルクリックで実行することができ、
ファイル内に記述されているコマンドを順に実行していきます。

今回ご紹介する「一度に複数ファイルのリネームする方法」では、batファイルで
2つの処理を行います。

■ディレクトリ内のファイル名を取得する処理

まず1つ目の処理は、batファイルと同じディレクトリにあるファイル名の一覧を
テキストファイルとして出力します。
batファイルの作り方は以下の通りです。

 1.テキストファイルを新規作成
 2.作成したファイルに以下のように記述

for %%i in (*.*) do ( echo %%i >> FileList.txt )

 
 3.テキストファイルを保存し、拡張子を.batに変更

これを実行すると、同じフォルダにあるファイルの名前が
すべて記載されたFileList.txtが生成されます。
ここで使われている命令は、下記の通りです。

for %%i in (*.*) do ( 【処理】 ) フォルダ内のファイル一覧を取得し、
【処理】で指定した処理を各ファイルに適用
echo %%i >> FileList.txt ファイル名をFileList.txtに追記
■ファイル名を変更する処理

2つ目の処理は、ファイル名を変更する処理です。
batの作り方は以下の通りです。

 1.テキストファイルを新規作成
 2.作成したファイルに以下のように記述

ren test1.txt TEST.txt

 
 3.テキストファイルを保存し、拡張子を.batに変更

このbatを実行すると、
batファイルと同じフォルダにある「test.txt」が「TEST.txt」にリネームされます。
ここで使っている命令は、下記の通りです。

ren (対象ファイル名) (変更後名) [対象ファイル名]という名前のファイルを
[変更後名]へリネームします
■複数ファイルを一度にリネームする

最後に、先ほどの2つの処理を組み合わせて一度に複数ファイルをリネームしてみます。
手順は次の通りです。

 1.1つ目で作成したディレクトリ内のファイル名を取得する処理のbatを使い、
  ファイル名を変更したい複数のファイル名をテキストファイルに出力
 2.出力されたファイル名の一覧をコピーして、Excelに貼り付け
 3.貼り付けた1つ右のセルにリネームする名前を入力
 4.貼り付けた1つ左のセルにrenと記述する。
  ※図1参照
 5.テキストファイルを新規作成
 6.Excelに記述した3列をコピーして、5.で新規作成したテキストファイルに貼り付け
 7.テキストファイルを保存し、拡張子を.batに変更

これで、ディレクトリ内に入ったファイルを纏めてリネームするbatが作成できました。

複数のファイルをリネームする

図1 Excelにはりつけたもの

■まとめ

batファイルを使うことで、
一度に複数ファイルのリネームを簡単に行うことができます。
また、batファイルで機械的に処理することで
リネームのし忘れ等のヒューマンエラーを抑止できます。

今回のリネームのように、単純ですが手作業で行うと時間のかかる作業は
batファイルを使うことで作業効率が上がります。
皆さんもbatファイルを利用してみてはいかがでしょうか。

以上、技術共有でした。

This entry was posted in 技術共有. Bookmark the permalink.