【Windows】ファイル名やフォルダ名を一括で置換・変更する

rename-names-of-file-and-folder-at-once Windows全般
この記事は約5分で読めます。
スポンサーリンク

本記事では、WindowsのPCにおいて特定のフォルダ内に存在するファイルまたはフォルダについて、特定の文字列を別の文字列に置換・変更する方法を紹介します。複数のファイル名やフォルダ名を一括で置換・変更する方法は、コマンドプロンプト (cmd) PowerShellを使用して実行できます。

  • WindowsのPCでファイル名やフォルダ名における文字列を一括で置換・変更したい
本記事で実装する処理

結論: ファイル名やフォルダ名を一括で置換・変更する方法

特定のフォルダ内に存在するファイル名やフォルダ名を一括で置換及び変更する方法は下記のとおりです。
* [置換前テキスト]及び[置換後テキスト]には任意の名前を入力してください

以下でそれぞれの一括置換方法について、ステップごとに解説します。どちらの方法もステップはほとんど同じになります。

置換前後で文字数が同じ場合:コマンドプロンプト (cmd) でファイル名やフォルダ名を置換する

置換前テキストと置換後テキストの文字数が同じ場合、下記のステップでコマンドプロンプト (cmd) からフォルダ名及びファイル名に含まれる文字列を一括で置換・変更することができます。


エクスプローラーで対象のフォルダを開く

まず、エクスプローラーで対象のフォルダを開きます。

エクスプローラーでフォルダを開く
コマンドプロンプトの起動

アドレスバーをクリックまたはCtrl + Lで、cmdと入力後Enterでコマンドプロンプト (cmd) を起動します。

cmdと入力し、cmdを開く
一括置換用のコードの入力

表示されたコマンドプロンプト (cmd) の画面上に、下記のコードをペーストしEnterキーをクリックします。
* [置換前テキスト]及び[置換後テキスト]には任意の名前を入力してください

ren "*[置換前テキスト]*" "*[置換後テキスト]*"
cmdでの入力画面

コードの実行後、下記の通りファイル名が変わっていることが分かります。
(ここでは、”2020“→”2025“、のように置換しています。)

ファイル名やフォルダ名の置換・変更の結果

renコマンドはファイルまたはディレクトリの名前を変更するための関数です。より詳しい使い方については公式ドキュメントを確認してください。

置換前後で文字数が異なる場合:パワーシェル (PowerShell) でファイル名やフォルダ名を置換する

置換前テキストと置換後テキストの文字数が異なる場合、下記のステップでパワーシェル (PowerShell) からフォルダ名及びファイル名に含まれる文字列を一括で置換・変更することができます。


エクスプローラーで対象のフォルダを開く

まず、エクスプローラーで対象のフォルダを開きます。

エクスプローラーでフォルダを開く
パワーシェルの起動

アドレスバーをクリックまたはCtrl + Lで、powershellと入力後Enterでパワーシェルを起動します。

powershellと入力し、powershellを開く
一括置換用のコードの入力

表示されたパワーシェルの画面上に、下記のコードをペーストしEnterキーをクリックします。
* [置換前テキスト]及び[置換後テキスト]には任意の名前を入力してください

$oldText = '[置換前テキスト]'; $newText = '[置換後テキスト]'; Get-ChildItem | Where-Object { $_.Name -match $oldText } | Rename-Item -NewName { $_.Name -replace $oldText, $newText }
powershellでの入力画面

コードの実行後、下記の通りファイル名が変わっていることが分かります。
(ここでは、”売上“→”_総売上 (暫定)“、のように置換しています。)

ファイル名やフォルダ名の置換・変更の結果

今回、PowerShellでフォルダ内の要素の名前を置換するコードを実行しており、使用した関数は下記のとおりです。

  • Rename-Item: 取得した要素の名前を変更する関数です。 (参考: 公式ドキュメント)
    • 正規表現を使用することが可能です
  • Get-ChildItem: 指定されたディレクトリ内の要素を取得する関数です。(参考: 公式ドキュメント)
    • Get-ChildItem -Recurseのように-Recurseオプションを追加するとサブディレクトリを取得し、サブディレクトリを含むファイル名・フォルダ名を一括で置換できます

おわりに

以上が、Windowsでコマンドプロンプト (cmd) とPowerShellを使用して、複数のファイル名やフォルダ名を一括で置換する方法のご紹介になります。

ご質問やご不明点がある場合はお気軽にコメントお待ちしております。

ご精読いただきありがとうございました。

コメント

タイトルとURLをコピーしました