サンプルプログラム概要
・ファイル名に含まれる特定の文字列を置換する
・サンプルでは特定の文字列を空文字へ置換 (=特定の文字列を削除) している
サンプルプログラム
# ●fileRenameReplaceTool.ps1
# inputフォルダを指定
$inputFolder = $Args[0]
# 置換対象の文字列
$targetReplaceStr = "_1月|_2月|_3月|_4月"
# 「*.xlsm 」を対象にファイル数の取得。サブフォルダも対象。
$fileList = Get-ChildItem $inputFolder -Recurse `
-include *.xlsm
$fileCount = $fileList.Count
# 対象ファイル数を出力
$message = "置換対象ファイル数:" + $fileCount
echo $message
# 開始日時を出力
$date = (Get-Date).ToString("yyyy/MM/dd HH:mm:ss")
$message = "ファイル名の置換 開始 " + $date
echo $message
# 「*.xlsm 」を対象に置換実行。サブフォルダも対象。
Get-ChildItem $inputFolder -Recurse `
-include *.xlsm `
| rename-item -newname {$_.name -replace $targetReplaceStr,''}
# 終了日時を出力
$date = (Get-Date).ToString("yyyy/MM/dd HH:mm:ss")
$message = "ファイル名の置換 終了 " + $date
echo $message
実行前
実行例
PS C:\Users\user> C:\Users\user\Desktop\temp\fileRenameReplaceTool.ps1 C:\Users\user\Desktop\temp\output
置換対象ファイル数:4
ファイル名の置換 開始 2019/11/20 07:04:10
ファイル名の置換 終了 2019/11/20 07:04:10
PS C:\Users\user>