TIPSファイル名のルールが変わったなどで、ファイル名をまとめて変換したいようなことはないだろうか。このような場合、エクスプローラーで手動により変更するのは大変だ。コマンドプロンプトのrenコマンドでは、拡張子を変えるような場合はいいのだが、ファイル名を柔軟に変更できない。このような場合はWSLのrenameコマンドを使うとよい。abc01.jpg、abc02.jpg、......、abc90.jpgといったファイル名を、abc001.jpg、abc002.jpg、......、abc090.jpgといったように数字部分を3桁にしたいとか、「abc」の部分を「abc_xyz」にしたいとか、ということだ。このような場合、ファイル数が少なければ、エクスプローラーで順番にファイル名の変更を行えばよいが、数十、数百ともなると手間がかかる。した処理はコマンドプロンプトが得意のはずなのだが、ファイル名を一括で変更しようとするとうまくいかない(拡張子を変更する程度なら問題ないが)。PowerShellを使って複雑なパターンのファイル名変更を行う」参照のこと)。Linux)」をインストールすることで、Linuxの「rename」コマンドが利用できるようになるため、かなり柔軟なファイル名の一括変換などが行える。本TIPSでは、その方法を紹介しよう。10でLinuxプログラムを利用可能にするWSLをインストールする(バージョン1803以降対応版)」を参考にして、WSLをインストールしておく。WSLでは、複数のディストリビューションがサポートされているが、本TIPSでは当初からサポートされていたUbuntu環境で解説していく(ディストリビューションによってコマンドのオプションが異なるので注意)。upgrade」コマンドを使ってシステムやパッケージを更新しておく。renameコマンドをインストールするファイル名の変更するrenameコマンドは、Ubuntuにデフォルトではインストールされていない。TIPS「WSLのUbuntu環境で「apt」コマンドを使ってパッケージを更新/管理する」参照のこと)。renameコマンドのインストールは、一度、行えばよいので、すでにインストールされている場合は、スキップしてよい。renamerenameコマンドをインストールするコマンドrenameコマンドをインストールするWSLのUbuntuにはrenameコマンドがインストールされていない。初回のみ、renameコマンドのインストールを行う必要がある。renameコマンドでファイル名を一括変換するrenameコマンドをWSL上でそのまま使ってもよいが、ここではコマンドプロンプト上でLinuxのrenameコマンドを呼び出して使ってみる。OSのパスの表記方法は少し異なっているので、コマンドプロンプトの扱いに慣れたユーザーなら、この方が簡単かもしれない。10でコマンドプロンプトを素早く起動する方法」を参照のこと)。rename」コマンドを実行する。10のコマンドプロンプトからWSL上のLinuxコマンドを呼び出す(バージョン1803対応版」参照のこと)。renameコマンドでファイル名の変換を行う場合、以下のようにパラメーターを指定する。「s/〜/〜/」は“文字列”を置換するためのコマンド指定。他に、“文字”を置換する「y/〜/〜/」というコマンドもある(例:「y/a-z/A-Z/」なら小文字を大文字に変換する)。これはPerl言語の表記に基づいている。Ubuntuのrenameコマンドは、正規表現で置換する文字列を指定できるので、柔軟なファイル名の一括変換が可能だ。対象ファイルは任意の文字列を「*(アスタリスク)」で、任意の一文字を「?(疑問符)」でマッチさせるワイルドカードが利用できる。これを使って、特定の拡張子のファイル名のみを一括で変換させることも可能だ(対象ファイルとして「*.png」などと指定する)。フォルダ内のPNGファイルのファイル名を「abc」から「abc_xyz」に変更したいのであれば、以下のコマンドを実行すればよい。*.pngコマンドプロンプトでrenameコマンドを使ってファイル名を変更するrenameコマンドでファイル名を一括変換する(1)abc01.png、......、abc90.pngのファイル名を一括で変換してみる。▼renameコマンドでファイル名を一括変換する(2)renameコマンドを使うと簡単にファイル名が一括変換できる。正規表現を使って置換文字列を指定できるので、複雑な条件でも柔軟にファイル名が一括変換できる。変換したファイル名を戻すことはできないので、変換ミスなどをした場合でも困らないように、フォルダごとコピーしてからファイル名を一括変換して、元のフォルダを削除するなどするとよい。上記のパラメーターはUbuntuの場合だが、renameコマンドはディストリビューションによって以下のようにパラメーターを指定するものもある。Ubuntuとはパラメーターの構成が異なっているので注意したい。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。