はじめに
今回はPowerToysというWindowsの拡張機能ツールに含まれるPowerRenameという機能を使ってファイル名を一括変更する方法について解説します。
対象読者
- 大量のファイルの名前を手作業で変更する煩雑な作業を避けたい
- コマンドプロンプトやPowerShellを使わずに、GUIでファイル名を一括で変更したい
- 正規表現を使ったファイル名の一括変更がしたい
内容
- PowerToysの概要とインストール方法
- PowerRenameの基本的な使い方
- 実際にPowerRenameで複数ファイルの名前を変更
- 正規表現を使ってファイル名を一括変更
実行環境
- Windows 10
- PowerToys 0.15.2
PowerToysとは
PowerToysはMicrosoft製のWindowsの機能を拡張するツールです。オープンソースで開発が続けられており、日々機能が追加されています。拡張機能ということで、Windowsの標準機能だけではできなかった痒い所に手が届く操作が可能。例えば、ディスプレイ内でウィンドウを均等に分割表示したり、ファイル名を一括で変更したりする機能を使えます。PowerToys(0.15.2)で拡張可能な機能の例は次の通りです。
- PowerToysの拡張機能
- PowerRename:正規表現等を用いてファイル名を一括変更
- FancyZones:マルチタスクに役立つウィンドウレイアウトを作成
- Shortcut Guide:Windowsキーを押したときにショートカットキーの一覧を表示
PowerToysをインストール
それでは、PowerToysのインストール方法について見ていきます。
-
インストーラをダウンロード
次のリンクからGitHubにアクセスし、[PowerToysSetup-[バージョン]-x64.msi]をクリックしてインストーラーをダウンロードします。今回は[PowerToysSetup-0.15.2-x64.msi]をダウンロードします。
Releases · microsoft/PowerToys · GitHub
-
インストールを実行
ダウンロードしたインストーラーを実行して、PowerToysのインストールを行います。
-
PowerToysの設定を変更
インストールが完了したらPowerToysを起動します。すると、通知領域にアイコンが表示されるので、ダブルクリックをしてPowerToysの設定を行います。デフォルトだと[PowerRename]のトグルボタンがオフになっているのでオンにします。
PowerRenameの基本的な使い方
実際にPowerRenameを使用してファイル名の一括変更をします。例として、"くろやぎのドキュメント[番号].txt"を"しろやぎのドキュメント[番号].txt"に一括変更してみます。リネーム対象のファイルを複数選択し、選択範囲上で右クリックして表示されたコンテキストメニューの中から[PowerRename]をクリックしてPowerRenameを起動します。
すると、リネーム処理に必要な設定項目が表示されます。各項目の意味は次の通りです。
- PowerRenameの設定項目
- Enter the criteria below to rename the items:検索する文字列と置換する文字列を入力
- Search for:検索する文字列
- Replace with:置換する文字列
- Options:オプション
- Use Regular Expressions:正規表現を使用
- Case Sensitive:検索時に大文字と小文字を区別
- Match All Occurrences:
- オン:検索にマッチした文字列をすべて置換
- オフ:はじめに一致した文字列のみ置換
- Exclude Files:検索対象にファイルを含めない
- Exclude Folders:検索対象にフォルダを含めない
- Exclude Subfolder Items:検索対象にサブフォルダ内のファイルを含めない
- Enumerate Items:置換後のファイル名末尾に番号を振る(例)foo.jpg → foo (1).jpg
- Item Name Only:ファイル名のみを検索対象にする。つまり、拡張子は無視
- Item Extension Only:拡張子のみを検索対象にする。つまり、ファイル名は無視
- Preview:プレビュー。リネーム後のファイル名を予め確認
- Enter the criteria below to rename the items:検索する文字列と置換する文字列を入力
[Search for:]に[くろ]、[Replace with:]に[しろ]を入力します。すると、[Preview]にリネーム後のファイル名が表示されるので、問題なければ[Rename]をクリックして実行します。
このように、面倒なコマンド操作なしでGUIにてファイル名の一括変更が完了しました。
PowerRenameはファイルエクスプローラーのAPIを用いているため、Ctrl Z([元に戻す])でリネーム前の元のファイル名に戻すことが可能。これは公式が提供するツールを利用する大きなメリットです。
正規表現をPowerRenameで使う
ほとんどのファイル名の一括変更作業は、先ほど紹介した単純な文字列の検索と置換で事足りると思います。ただ、より複雑なファイル名の一括変更をしようとすると正規表現が必要になります。PowerRenameでは、正規表現を用いた置換も可能です。正規表現を有効にするには、[Options]→[Use Regular Expressions]をオンにします。
例
Search for | 説明 |
---|---|
.* | すべての文字 |
^foo | 「foo」ではじまる文字列 |
bar$ | 「bar」で終わる文字列 |
正規表現における変数を使用するためには[Match All Occurrences]をオンにします。
Search for | Replace with | 説明 |
---|---|---|
(.*).png | $1_foo.png | ファイル名の末尾に「_foo」を追加 |
正規表現の基本的な使い方については次の記事で解説しているので、これを機に正規表現を理解しておきたいと思った方はぜひご覧ください。
おわりに
今回はPowerToysというWindowsの拡張機能ツールに含まれるPowerRenameという機能を使ってファイル名を一括変更する方法について解説しました。コマンドプロンプトやPowerShellを使わずに、GUIでファイル名を一括で変更できるので、あまりコマンド操作に詳しくない方でも簡単に使用することができるはずです。これまで複数のファイル名の変更を手作業で行っていたという方は、この記事を参考にしてぜひPowerRenameを使用してみてください。