2019年11月1日金曜日

Powershell Rename-Item ファイル名変換

定型の報告書を作る際、ファイル名の中に日付を入れることがある。
テンプレートをコピーして、日付だけ変更する事が良くある。
一つ、二つならいいが、多くなると面倒臭いので、ファイル名の一部を変更するPowerShellを組んだ。

AAAA2019.10.txt  を AAAA2019.11.txt  に変更する。


Source

  write-host "ファイル名の一部を変更する"

  $lPath = Split-Path $script:myInvocation.MyCommand.path -parent
                                                                               #カレントパスの取得

  $lPath

  Get-ChildItem -Path $lPath -Recurse                              #現在のファイル

  write-host "年月を変更する"

# ファイル名を変更する。
#    -FILE      ファイルのみを表示
#    -Recurse    サブフォルダーも対象
  Get-ChildItem -Path $lPath -FILE -Recurse
        |Rename-Item -NewName {$_.Name -replace '2019.10','2019.11' }

  Get-ChildItem -Path $lPath -Recurse                               #現在のファイル


実行結果

  ファイル名の一部を変更する
  D:\XXXXXXXXXX
  ディレクトリ: D:\XXXXXXXXXX

  Mode                LastWriteTime         Length Name
                                                           ----
        -------------         ------ ----
   -a----       2019/11/01     11:15              0 AAAA2019.10.txt
     年月を変更する
   -a----       2019/11/01     11:15              0 AAAA2019.11.txt



本日の河上選手:お休み
  前節・大村の4日間シリーズは、5,6祭りの情けなさ!