如何在Powershell中快速重命名数千个文件?

时间:2015-01-12 07:31:29

标签: powershell csv

有没有快速的方法如何重命名单个目录中的数千个文件?我需要在文件名中重命名具有特定最后3个字符的文件。例如" TEST-AB.CSV"应重命名为" TEST.CD.CSV"。因此,名称中包含最后3个字符的所有文件,如" -AB"替换为" .CD"但如果" -AB"字符串不在文件名的末尾,文件不应重命名。

感谢您的帮助。

约翰

2 个答案:

答案 0 :(得分:1)

这是一种方法:

$path = "c:\temp"
$counter = 0
Get-ChildItem $path | ? {$_.basename.EndsWith("-AB")}|%{$counter++;rename-item $_.fullname (($_.basename -replace '(.*)(-AB)$','$1.CB')+$_.extension)}
$counter

编辑

添加了一个计数器。

答案 1 :(得分:0)

在batch / cmd(即不是PowerShell)中你可以这样做:

ren *-AB.* *.CD.*

但是如果你需要使用PowerShell,那么Micky的答案就会做到。

修改以上语法似乎仅限于引入"。"进入重命名。所以:

ren *-AB.* *-CD.*

工作,但是:

ren *-AB.* *.CD.*

隐而不宣'吨。我建议选择Micky的回答