通过附加当前日期在PowerShell中批量重命名文件

时间:2014-09-20 04:28:10

标签: file powershell rename bulk

我搜索了Stack Overflow,我发现的大部分答案都不是我想要做的。我在目录中有多个文件,我试图通过在扩展名之前附加当前日期和时间作为后缀来重命名。

我已在单个文件上多次完成,但无法使其适用于大量文件。这是我正在使用的代码:

Get-ChildItem $Path -Filter "*.dat" -Recurse | Rename-Item -NewName {$_.Basename + '_' + $curDateTime + $_.Extension }

它不会失败,但文件不会重命名。

2 个答案:

答案 0 :(得分:2)

这对我有用:

$curDateTime = Get-Date -Format yyyyMMdd-HHmmss
Get-ChildItem $Path *.dat -Recurse | 
    Rename-Item -NewName {$_.Basename + '_' + $curDateTime + $_.Extension } -WhatIf

答案 1 :(得分:0)

另一种解决方案:

Get-ChildItem $Path -Filter "*.dat" -Recurse |
    ren -New {$_.Name -replace '[.](?!.*?[.])',"_${curDateTime}."} -What