使用powershell批量重命名以删除“ - ”后面的9个字符

时间:2015-02-18 22:26:28

标签: powershell batch-rename

我需要重命名大约5000个具有以下命名格式的文件:

" 322xxx-710yy.tiff"

我需要从名称中删除-710yy以获得322xxxx.tiff

有人可以为power-shell建议一个rename-item命令来执行此操作吗?

我试过了:

    get-childitem -filter "322*" -recurse | Rename-item -NewName{$_.name -replace '-710*', ''}

但所有这一切都是删除" 710"留下剩余的字符。

1 个答案:

答案 0 :(得分:0)

-replace采用正则表达式,而不是通配符匹配(与-Filter的{​​{1}}参数不同),因此您需要

Get-ChildItem

相反(在这种情况下你也可以省略$_.Name -replace '-710[^.]*' ,因为它隐含着)。请注意,我只是在710之后替换非点字符,以保持扩展名完整。