Get-ChildItem | # get files
foreach {
$newName = [Regex]::Replace($_.BaseName, '\d{8}$', {
param($m)
[datetime]::ParseExact($m.Value, 'yyyyMMdd', $null).ToString('dd-MMM')
}) + $_.Extension
Rename-Item $_ $newName -WhatIf
$_
$newname
}
これは私のテストリストで機能し、gciをget-childItemに変更するだけでした..
What If: ターゲット "アイテム: C:\ab\file_four_20120701.txt 宛先: C:\ab\file_four_01-Jul.txt" で操作 "ファイル名の変更" を実行しています。
What If: ターゲット "アイテム: C:\ab\file_one_20120620.txt デスティネーション: C:\ab\file_one_20-Jun.txt" で操作 "ファイルの名前変更" を実行しています。
What If: ターゲット "アイテム: C:\ab\file_three_20120622.txt 宛先: C:\ab\file_three_22-Jun.txt" で操作 "ファイル名の変更" を実行しています。
What If: ターゲット "アイテム: C:\ab\file_two_20120621.txt 宛先: C:\ab\file_two_21-Jun.txt" で操作 "ファイル名の変更" を実行しています。