update :: 2006.01.01

トップページ > etc > FileVisor Tips > 一括連番リネーム

 ■ 複数ファイルの名前を、連番ファイル名に一括リネームする

ファイル名に規則性がないバラバラのファイル群を、指定した連番ファイル名に一括リネームします。つまり、こういうことです。

aaa.jpg     図01.jpg
bbb.jpg  →  図02.jpg
ccc.jpg     図03.jpg

1.リネームしたい複数のファイルを選択します。



2.[ファイル]-[名前の置換]-[連番で名前変更]を実行します。



3.表示される[連番で名前変更]ダイアログボックスで、変換後のファイル名を指定します。



4.実行すると連番ファイル名にリネームされます。




[連番で名前変更]ダイアログボックスの[開始番号の初期値]ボックスと[増分値]ボックスで、連番を詳細に設定できます。たとえば、

初期値増分値結果
111、2、3、4
121、3、5、7
301030、40、50、60

初期値には0以上の数値を指定できます。マイナスの数値を指定すると、自動的に0に置き換えられます。
[連番の命名形式]ボックスでは、ファイル名のうち「どの部分」を連番にするかを指定します。指定したファイル名のうち##が数値に変換されます。##の間には連番の「桁数」を指定できます。#3#は連番の桁数に3を指定したことになり、置き換えられる連番は001、002、003のように3桁の数値となります。##以外の文字列は、そのままファイル名に設定されます。

サンプル結果
図-#2#.jpg図-01.jpg、図-02.jpg、図-03.jpg
#4#.jpg0001.jpg、0002.jpg、0003.jpg
図#3#(s).jpg図001(s).jpg、図002(s).jpg、図003(s).jpg

ファイル名には次のマクロ文字を使用できます。

マクロ文字説明
%full%元のファイル名を利用します
%name%元のファイル名から拡張子を除いた名前を利用します
%date%現在の日付を利用します(2005年6月12日の場合は 20050612 を付加)
%time%現在の時刻を利用します(16時32分4秒の場合は 163204 を付加)
%fdate%元ファイルの更新日付を利用します(形式は%date%と同じ)
%ftime%元ファイルの更新時刻を利用します(形式は%time%と同じ)
%ext%元のファイル名の拡張子(.も含む)を利用します

ヘルプでは「例えばファイル名をファイルの更新日時に変更したい場合には」という例で「%fdate%_%ftime%.%ext%」という記述例を紹介しています。しかし、%ext%は「.」も含みますから「%fdate%_%ftime%%ext%」でいいと思います。

■同名ファイルがすでに存在していた場合

作ろうとした連番ファイルがすでに存在していると、アラートが表示されます。最初にすべてのファイルをチェックしているみたいで、ひとつでも同じファイル名が存在すると、ひとつもリネームされません。
しかし、変なパターンでリネームしようとすると、既存のファイルが削除されてしまうことがあります。正確には削除ではなく、AというファイルをBという名前にリネームするので、結果的にAが消えてしまうわけです。たとえば%date%などのマクロ使った場合、まったく同じ日付のファイルをリネームしようとすると、1つしか残りません。大量のファイルを選択したとき、どれか1組だけ同じ日付+同じ時刻のファイルが存在していたら悲劇ですね。その形跡すら残らないので、ユーザーはまったく気づきません。

この機能では拡張子まで変更することが希です。そこで「名前の変更」ダイアログボックスにある「元の拡張子を保持する」をぜひサポートしていただきたいですね。


[目次ページ]に戻る