PowerRename ユーティリティ

PowerRename は名前をまとめて変更するツールであり、次のことができます。

  • 多数のファイルのファイル名を変更します ("すべてのファイルを同じ名前にすることはできません")。
  • ファイル名の対象となるセクションで検索と置換を実行します。
  • 複数のファイルに対して正規表現の名前変更を実行します。
  • 一括名前変更を終了する前に、予想される名前変更の結果をプレビュー ウィンドウで確認します。
  • 完了後に名前変更操作を元に戻します。

Demo

このデモでは、ファイル名 "foo" のすべてのインスタンスが "foobar" に置き換えられます。 すべてのファイルには一意の名前が付けられているため、手動で 1 つずつ行うと長い時間がかかります。 PowerRename を使用すると、1 回でまとめて名前を変更できます。 エクスプローラーの [名前の変更を元に戻す] (Ctrl + Z) コマンドを使用して、最後の変更を元に戻すことができることに注目してください。

PowerRename のデモ

PowerRename ウィンドウ

WindowsFile Explorer でファイルを選択した後、右クリックして [PowerRename でサイズ変更] を選択します (PowerToys で有効になっている場合にのみ表示されます)。 選択した項目が、検索と置換の値、オプションの一覧、入力された検索と置換の値の結果を表示するプレビュー ウィンドウと共に表示されます。

PowerRename メニューのスクリーンショット

検索対象

テキストまたは正規表現を入力し、選択したファイルの中で、入力した条件と一致するものを検索します。 [プレビュー] ウィンドウに一致する項目が表示されます。

Replace with

前に入力した 検索 値を置き換えるテキストを入力します。 [プレビュー] ウィンドウで、元のファイル名と変更されたファイル名を確認できます。

[正規表現を使用する]

オンにした場合、検索値は正規表現 (regex) として解釈されます。 置換値にも regex 変数を含めることができます (以下の例を参照してください)。 オフにした場合、検索値は、[置換] フィールドのテキストに置き換えられるプレーンテキストとして解釈されます。

regex 拡張機能の設定メニューの [Boost ライブラリを使用する] オプションの詳細については、正規表現のセクションをご覧ください。

すべての出現箇所を一致させる

オンにすると、[検索]フィールド内のテキストのすべての一致が、置換テキストで置き換えられます。 それ以外の場合は、ファイル名に含まれる "検索" テキストの最初のインスタンスのみが置換されます。

たとえば、ファイル名が powertoys-powerrename.txt であるとします。

  • 検索: power
  • 置換: super

変更後のファイル名は次のようになります。

  • [すべての出現箇所を一致させる] がオフ: supertoys-powerrename.txt
  • [すべての出現箇所を一致させる] がオン: supertoys-superrename.txt

大文字小文字を区別

オンにすると、[検索] フィールドで指定したテキストは、大文字と小文字が同じ場合にのみ、項目内のテキストと一致します。 既定では、大文字と小文字の一致は区別されません。

[Apply to: Filename only]\(適用先: ファイル名のみ\)

操作によって変更されるのはファイル名だけです。 例: txt.txtNewName.txt

[Apply to: Extension only]\(適用先: 拡張子のみ\)

ファイル拡張子だけを操作によって変更します。 例: txt.txttxt.NewExtension

インクルード ファイル

オフにすると、ファイルは操作に含まれません。

フォルダーを含める

オフにすると、フォルダーは操作に含まれません。

Include subfolders

オフにすると、フォルダー内のファイルは操作に含まれません。 既定では、すべてのサブフォルダー項目が含まれます。

テキストの書式設定

4 つのオプションのいずれかを選択して、すべて小文字、すべて大文字、タイトル ケース (文の最初の文字を大文字にする)、または各単語の最初の文字を大文字に、項目を変換します。

項目の列挙

選択した場合は、"テキストに置き換える" の一部として、次のパターンを使用できます。

変数パターン 説明
${} 名前が変更された最初のファイルの 0 から始まるシンプルなカウンター。
${increment=X} カスタマイズされたインクリメント値を持つカウンター。
${padding=X} 数値の先頭に 0 が指定された数のカウンター。
${start=X} カスタマイズされた初期値を持つカウンター。

同じ置換文字列で複数のカウンターを使用し、カスタマイズを組み合わせることもできます。

たとえば、"検索" テキスト a と一連のファイルを指定します。

  • a.jpg
  • ab.jpg
  • abc.jpg

"置換後の文字列" のテキスト Image_${padding=4;increment=2;start=10}_ により、次の結果が生成されます。

  • Image_0010_.jpg
  • Image_0012_b.jpg
  • Image_0014_bc.jpg

ファイル作成日時を使用して置換する

次の表に従って変数パターンを入力することで、ファイルの作成日時属性を "置換後" のテキストで使用できます。 "置換後" フィールドでヒントを選択すると、サポートされているパターンを表示して選択できます。

変数パターン 説明
$YYYY 使用されているカレンダーに応じて、4 桁または 5 桁の数字で表される年。
$YY 最後の 2 桁のみで表される年。 1 桁の年の場合、先頭にゼロが追加されます。
$Y 最後の桁のみで表される年。
$MMMM 月の名前。
$MMM 月の省略名。
$MM 数字の月 (1 桁の月は先頭にゼロが付きます)。
$M 数字の月 (1 桁の月は先頭にゼロが付きません)。
$DDDD 曜日の名前。
$DDD 曜日の省略名。
$DD 数字の日付 (1 桁の日は先頭にゼロが付きます)。
$D 数字の日付 (1 桁の日は先頭にゼロが付きません)。
$hh 時 (1 桁の時は先頭にゼロが付きます)。
$h 時 (1 桁の時は先頭にゼロが付きません)。
$mm 分 (1 桁の分は先頭にゼロが付きます)。
$m 分 (1 桁の分は先頭にゼロが付きません)。
$ss 秒 (1 桁の秒は先頭にゼロが付きます)。
$s 秒 (1 桁の秒は先頭にゼロが付きません)。
$fff 3 桁すべてで表されるミリ秒数。
$ff 最初の 2 桁だけで表されるミリ秒数。
$f 最初の桁だけで表されるミリ秒数。

たとえば、次のようなファイル名であるとします。

  • powertoys.png、2020/11/02 作成 (11 月 2 日)
  • powertoys-menu.png、2020/11/03 作成 (11 月 3 日)

次のような項目名変更条件を入力します

  • 検索: powertoys
  • 置換: $MMM-$DD-$YY-powertoys

変更後のファイル名は次のようになります。

  • Nov-02-20-powertoys.png
  • Nov-03-20-powertoys-menu.png

正規表現

ほとんどのユース ケースでは、単純な検索と置換で十分です。 ただし、複雑な名前変更タスクでは、さらに多くの制御が必要になる場合があります。 正規表現が役に立ちます。

正規表現では、テキストの検索パターンを定義します。 テキストの検索、編集、操作に使用できます。 正規表現によって定義されたパターンは、特定の文字列に対して 1 回、複数回、または 0 回一致する場合があります。 PowerRename では、最新のプログラミング言語で一般的な ECMAScript 文法が使用されます。

正規表現を有効にするには、[正規表現の使用] を選択します。 注: 正規表現を使用しているときに、[すべての出現箇所を一致させる] を選択する必要が出てくる可能性があります。

標準ライブラリの代わりに Boost ライブラリを使用するには、PowerToys の設定で [Boost ライブラリを使用する] オプションをオンにします。 これにより、lookbehind などの、標準ライブラリではサポートされていない拡張機能が有効になります。

正規表現の例

単純な一致の例を示します。

検索対象 説明
^ ファイル名の先頭と一致する (サイズ 0)
$ ファイル名の末尾と一致する (サイズ 0)
.* 名前のすべてのテキストと一致する
^foo "foo" で始まるテキストと一致する
bar$ "bar" で終わるテキストと一致する
^foo.*bar$ "foo" で始まり "bar" で終わるテキストと一致する
.+?(?=bar) "bar" までのすべてと一致する
foo[\s\S]*bar "foo" から "bar" までのすべてと一致する

照合と変数の例。 キャプチャ グループはかっこ () で囲んで定義します。 それらを参照するには、$ (後ろに数字が付く) を使用します。$1 は最初のグループを参照し、$2 は 2 番目のグループを参照するという形です。この変数を使用する場合は、[すべての出現箇所に一致する] を選択する必要があります。

検索対象 Replace with 説明
(.*).png foo_$1.png PNG ファイルの既存のファイル名の前に "foo_" を付加します
(.*).png $1_foo.png PNG ファイルの既存のファイル名に "foo_" を付加します
(.*) $1.txt 既存のファイルに ".txt" 拡張子を追加します
(^\w+\.$)\|(^\w+$) $2.txt 既存のファイル名に拡張子がない場合にのみ、".txt" 拡張子を追加します
(\d\d)-(\d\d)-(\d\d\d\d) または (\d{2})-(\d{2})-(\d{4}) $3-$2-$1 ファイル名のある部分を移動します: "29-03-2020" は "2020-03-29" になります
^(.{n})(.*) または (.*)(.{n})$ $1foo$2 "foo" n 文字をそれぞれ先頭または末尾に挿入します
^.{n} または .{n}$ なし "foo" n 文字をそれぞれ先頭または末尾からトリミングします。

正規表現を学習するための他のリソース

オンラインで利用できる便利な例やチートシートがあります

正規表現のチュートリアル

JavaScript 正規表現のチュートリアルと例

ファイル一覧フィルター

PowerRename でフィルターを使用して、名前変更の結果を絞り込むことができます。 予想される結果を確認するには、[プレビュー] ウィンドウを使用します。

  • 名前変更前: [プレビュー] ウィンドウの最初の列では、次の切り替えを行います。

    • オン: ファイルは名前変更対象として選択されます
    • オフ: (検索条件に入力された値に合っている場合でも) ファイルは名前変更対象として選択されません
  • 名前変更後: [プレビュー] ウィンドウの 2 番目の列では、以下を切り替えることができます。

    • 既定のプレビューでは、選択したファイルすべてが表示され、"検索" 条件に一致するファイルだけに変更された後の名前が表示されます。
    • [Renamed]\(名前変更後\) ヘッダーを選択すると、名前が変更されるファイルだけにプレビューの表示が切り替えられます。 もともと選択されていた他のファイルは表示されません。

PowerToys PowerRename フィルターのデモ。

設定

次に説明するように、その他のオプションを設定で構成できます。

設定 説明
Show PowerRename in (PowerRename を表示) PowerRename は、既定のオプションの 1 つとして、または、拡張コンテキスト メニューにのみ表示されます
コンテキスト メニューのアイコンを非表示にする コンテキスト メニューの PowerRename アイコンを非表示にします
Enable auto-complete for the search and replace fields (検索および置換フィールドでオートコンプリートを有効にする) PowerRename の以前の使用に基づいて、検索と置換のフィールドで使用する用語を自動的に提案します
Maximum number of items (項目の最大数) 検索と置換で表示する候補の最大数
Show recently used strings (最近使用した文字列を表示する) PowerRename を開くとき、検索と置換のフィールドに、最後に使用した値を設定します
Boost ライブラリを使用する regex の拡張機能を有効にします。 詳しくは、「正規表現」をご覧ください