有没有快速的方法如何重命名单个目录中的数千个文件?我需要在文件名中重命名具有特定最后3个字符的文件。例如" TEST-AB.CSV"应重命名为" TEST.CD.CSV"。因此,名称中包含最后3个字符的所有文件,如" -AB"替换为" .CD"但如果" -AB"字符串不在文件名的末尾,文件不应重命名。
感谢您的帮助。
约翰
答案 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的回答