PowerShell

ファイル名一括置換方法【PowerShell】

今回はPowerShellを用いて大量ファイルのファイル名を一括置換する方法を記載します。

これは大量ファイルのファイル名を一括置換する際にとても便利です。

実行環境は下記になります。

PCWindows10 home 64bit
PowerShell5.1.17134.590

 

下記に今回利用するコマンドのフォーマットを記載します。

対象のディレクトリに移動していない場合

Get-ChildItem <対象PATH> | Rename-Item -NewName { $_.Name -replace ‘置換したい単語’,’置換後の単語’ }

 

対象のディレクトリに移動している場合

Get-ChildItem | Rename-Item -NewName { $_.Name -replace ‘置換したい単語’,’置換後の単語’ }

 

大量ファイルのファイル名を一括置換する方法

「test」から「AAAA」にファイル名を置換する例

下記では大量のファイル名に共通してある「test」という名称を、「AAAA」に一括置換する例を紹介します。

Get-ChildItemの対象PATHにパスを設定して実施する

1.PowerShellを起動する。

2.下記のコマンドを実施します。

Get-ChildItem C:\work\test | Rename-Item -NewName { $_.Name -replace 'test','AAAA' }

 

そうすると、置換対象のファイルがいるディレクトリに移動せずにファイル名が一括で置換出来たと思います。

Get-ChildItemの対象PATHにパスを設定しないで実施する

1.PowerShellを起動する。

2.一括置換したいフォルダへ移動します。

3.下記のコマンドを実施します。

Get-ChildItem | Rename-Item -NewName { $_.Name -replace 'test','AAAA' }

 

そうすると、変更対象が全て置換されていることがわかります。

どちらの方法でも良いですが、この方法では対象ディレクトリに一度移動するという手間が増えるので、筆者はパスを指定して使用するコマンドの方を推奨しています。

まとめ

今回はPowerShellでファイル名を一括置換する方法を記載しました。

大量にあるファイル名に対してファイル名を一括置換する時に非常に便利な方法ですので是非積極的に利用してみてください。

また、PowerShellを用いていろいろな作業の効率化を図れるので是非いろいろ調べて利用してみてください。

ABOUT ME
Yoshiyuki Sugiyama
2019年2月からフリーランスエンジニアをやっています。 自分が将来見るためのメモ等をアップします。 使用する言語は主にPython。JavaとC#も使えます。 現在はAI関連を勉強中。 >>プロフィール詳細