2011年8月24日水曜日

多量のファイル名をまとめて変更したい

100個以上のファイルがあるときにそのファイル名をまとめて変更したいということはよくあります。

一つずつ手で変更してもよいのですが、どうしても間違いが起こります。できればエクセルなどで対応表を作ってまとめて変換したいと思います。

今回はMS-DOSを使ったバッチ処理で、1次メッシュごとに分割したeps形式 (イラストレータ用)のファイルの名前をまとめて変更してみました。

1次メッシュごとに分割したeps形式のファイル(投影法の違いによりgcsとutmの2つがある)
1次メッシュごとに分割したシームレス地質図の基本版のepsファイルは全国で175のファイルがあります。投影法の違いによってgcsとutmの2種類のファイルがあります。ここでは、3622b.epsのファイル名をわかりやすいように3622b_gcs.epsに変更したいと思います。

エクセルで下記のような対応表をつくります。1列目のrenはMS-DOSでファイル名の変更を行うコマンドです。B列に元のファイル名をC列に変換後のファイル名をいれます。C列は、B列をコピーしてエクセルの置換などを使うとスムーズに作成できます。

エクセルで対応リストを作成します。置換をうまく使いましょう。

 作成したエクセルファイルをカンマ区切りのCSV形式のファイルで保存します。ここでは、eps_b_20110823.csvとしました。保存したファイルの拡張子(.csv)を、バッチファイル形式(.bat)に変更します(eps_b_20110823.bat)。そのバッチファイルを変更したいファイル群があるフォルダに入れます。


epsのファイル群のあるフォルダにcsv形式でファイルを保存し、拡張子を.batに変更します。

プログラム>>>アクセサリ>>>コマンドプロンプトを選んで、MS-DOS用のコマンドプロンプト画面を開きます。MS-DOSの詳しい使い方は例えばこちらをご覧ください。

ファイル群を保存したフォルダにcdで移動した上で、eps_b_20110823.batと入力し、リターンを押すと一度にファイル名を変換できます。(Explorer上で直接バッチファイルをダブルクリックしても実行できます)


ほんの数秒で一度にファイル名が変更できます。

MS-DOS上でバッチファイルを実行した結果。ファイル名が変更されている。
[カンマ区切りの場合,バッチファイルの実行後もしエラーが出る場合は,このバッチファイルをテキストエディタで開いて,カンマの部分を半角スペースに置換し,スペース区切りに変換して下さい]

Explorer上のファイル名もきちんと変換されています。

ファイル名が、****b_gcs.epsに変更されました。