Windowsで、複数のフォルダーやファイルの名前を一括変更したい場合、エクスプローラーの標準機能を使った方法や、コマンドを使った方法、専用の一括変更アプリを使った方法がありますが、それぞれの方法にはできる範囲に違いがあります。
そこでここではWindows 10を例に、フォルダー名やファイル名を一括変更(リネーム)する3つの方法と、それぞれの方法でどのような一括変更ができるのかを紹介します。
目次
標準機能で一括変更
Windowsの標準機能として搭載されているエクスプローラーでフォルダーやファイルの名前を一括変更する場合は、カッコつきの番号を振ることができます。
たとえば、ファイル名を「テスト(x)」としたい場合、エクスプローラーで対象となるファイルをまとめて選択し、「F2」キーを押したり、右クリックの「名前の変更」から、ファイル名を「テスト」とすると、対象ファイルが「テスト (1)」「テスト(2)」・・・のようにカッコつきの番号に一括変更できます。
コマンドで一括変更
WindowsコマンドやPowerShellでは、ファイル名に含まれる特定の文字列を置換する方法でファイル名を一括変更できます。
もちろん、スクリプトを作成すればより複雑な一括変更もある程度は対応できますが、ここではスクリプトを使わないでできる一般的な変更方法を紹介します。
RENコマンド
RENコマンドでは、拡張子を変更したり、ファイル名の一部を一括で置換することができ、ワイルドカードを利用することで複数ファイルを対象とすることも可能です。
以下のコマンドでは、カレントフォルダー内の拡張子が「txt」のファイルの拡張子を「html」に一括置換しています。
> ren *.txt *.html
以下のコマンドでは、カレントフォルダー内でファイル名が「AAA」から始まるファイルの名前の「AAA」を「BBB」に一括置換しています。
> ren AAA* BBB*
RENコマンドでワイルドカードを利用してファイル名を一括置換する場合、置換前の文字列と置換後の文字列は同じ長さにしないと、意図したとおりに変更されないことがあります。特に文字列を短くするときには注意しましょう。
Rename-Itemコマンドレット
PowerShellのRename-Itemコマンドレットを使えば、ファイル名の一部を置換できます。
以下のコマンドでは、対象フォルダー内のすべてのファイルの名前を一括で置換できます。
PS> Get-ChildItem <対象フォルダー> -File | Rename-Item -NewName { $_.Name -replace '置換対象文字列','置換後文字列' }
専用アプリで一括変更
PowerRename
「PowerRename」は、Microsoftが提供しているWindows向けのカスタマイズツール「PowerToys」に含まれている機能で、複数のフォルダーやファイルの名前に、連番を付ける、日付を付けるといったような一括変更、正規表現を使った一括変更を、エクスプローラーの右クリックメニューから簡単に行うことができます。
PowerRenameの使い方は、以下の記事をご覧ください。
Flexible Renamer
「Flexible Renamer」は、連番を振る、日時を付ける、正規表現を使った一括変更などを行えるWindows向けの一括変更ツールで、無料で利用できます。
Flexible Renamerの使い方は、以下の記事をご覧ください。
あとがき
単純なファイル名の変更であれば、Windowsの標準機能やコマンドを利用してサクッと変更できますが、より複雑な一括変更を行いたい場合は、専用ツールを使って変更するのがおすすめです。