ファイル名およびフォルダー名のリネームを行なうときは、ワイルドカードを併用しますと、効率性が大幅に高まります。そもそもワイルドカードとは、複数のファイルやフォルダーを選択するパターンマッチングとして特殊文字を指し、正規表現ほど難しくありません。Windows 7では、任意の文字列とマッチする「*(アスタリスク)」と、任意の一文字とマッチする「?(クエスチョンマーク)」が使用可能です(図07~09)。

図07 このようなフォルダーを現在のフォルダーとしたコマンドプロンプトから、

「dir *.jpg」と入力して[Enter]キーを押せば、JPEGファイルのみが列挙されます

図08 コマンドプロンプトから「dir 2008*」と入力して[Enter]キーを押せば、「2008」から始まるファイル名およびフォルダー名が列挙されます

図09 コマンドプロンプトから「dir Kazuma0?.*」と入力して[Enter]キーを押せば、「Kazuma0{任意の一文字}.{任意の拡張子}」がマッチし、同名を持つファイルやフォルダーが列挙されます

さて、コマンドラインから実行するリネーム作業の概要をつかんだところで、まとめてファイル名を変更するバッチファイルを作成しましょう。まずはコマンドプロンプトから「dir /b *.xls? > rename_list.txt」と入力して[Enter]キーを押します。まず「/b」はファイル名のみを表示するためのオプション。続く「*.xls?」は拡張子「.xls」および「.xlsx」など各Excel関連ファイルを選択するためのワイルドカードです(図10)。

図10 各ファイルのリネーム操作をバッチファイルから実行します。

コマンドラインから「dir /b *.xls? > rename_list.txt」と入力して[Enter]キーを押してください

「rename_list.txt」ファイルをテキストエディタで開き、ファイル名の先頭に「move」を挿入し、ファイル名の末尾に変更するファイル名を記述してください。なお、間に半角スペースを含む場合は「"(ダブルコーテーション)」でファイル名を囲みましょう。具体的には「move "{元のファイル名}" "{変更後のファイル名}"」となります。なお、本手順ではメモ帳で開いていますが、ファイル名の数だけ操作手順が増えてしまいますので「秀丸」など、キーボードマクロ機能が備わったテキストエディタを使用した方が、操作効率が高まります(図11)。

図11 「rename_list.txt」をテキストエディタで開き、

ファイル名にリネーム操作を行なう記述を行ないま

あとはテキストファイルの拡張子を「.bat」に変更して保存します。Windows 7のフォルダーオプション設定で拡張子が非表示となっている場合は、ファイル名を「"」で囲みましょう。あとはバッチファイルをダブルクリックすれば、各ファイル名が変更されました。本操作のメリットは一度にファイルを変更できると同時に、変更内容を網羅的に編集できる点にあります。大量のファイルを変更しなければならない場合などにお使いください(図12~13)。

図12 上書き保存ではなく、拡張子「.bat」に変更して保存します

これでバッチファイルの用意ができました

図13 コマンドラインからバッチファイルを実行するか、ダブルクリックで実行します。

これで各ファイル名が変更されました。バッチファイルおよびテキストファイルは不要なので削除してください

阿久津良和(Cactus)