我有一份报纸目录:
20140914_foo.pdf
20140915_foo.pdf
20140916_foo.pdf
我想将它们重命名为
2014-09-14 Sunday.pdf
2014-09-15 Monday.pdf
2014-09-16 Tuesday.pdf
这两个语句可以解决问题:
Get-ChildItem | Rename-Item -NewName {$_.Name.Insert(4,'-').Insert(7,'-') -replace 'foo', ''}
Get-ChildItem | Rename-Item -NewName {$_.BaseName + ' ' + (get-date($_.BaseName)).DayOfWeek + $_.Extension}
有没有一种优雅的方式可以做到这一点?
最佳答案
编辑:添加了弗罗德的建议
尝试此操作,代码将拆分文件名,将日期字符串解析为[datetime]
类型并提取其属性以构建所需的名称:
Get-ChildItem | % {
$date = [datetime]::ParseExact(($_.Name -split "_")[0],"yyyyMMdd",$null)
$newName = "$($date.ToString("yyyy-MM-dd")) $($date.DayOfWeek).pdf"
ren $_ $newName
}
关于file - 将文件20140914_foo.pdf重命名为2014-09-14 Sunday.pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25837946/