正規表現を使ってファイル名変更する方法

AAAA0001.csv
AAAA0002.csv
AAAA0003.csv

BBBB0001.csv
BBBB0002.csv
BBBB0003.csv

にしたい場合

ls "AAAA*.csv" | ren -newName { [Text.RegularExpressions.Regex]::Replace($_.Name, "AAAA(.*)`.csv", "BBBB`$1.csv") }

解説

  • ls (Get-ChildItem) で、名前を変更したいファイルを列挙して、それを ren (Rename-Item) に渡す。
  • ren のパラメータで -newName にスクリプトブロックを指定し、その中で正規表現を使って置換する
  • 注意:拡張子の . (ドット)を ` でエスケープするのを忘れないこと


ネタ元