使用正则表达式批量重命名文件

时间:2015-06-14 17:59:20

标签: regex powershell batch-rename

我有许多文件格式如下:

  

name _ name< number>< number> [TIF< 11 numbers>]。jpg

e.g。 [TIF 15355474840]

我想从所有这些文件中删除josh_sam01.jpg 这包括'[TIF ...'之前的前导空格以及每次11个数字的不同组合。

所以上一个例子将成为: {{1}}

简而言之,使用带有正则表达式的powershell(或cmd.exe)我想转换此文件名:

  

josh_sam01 [TIF 15355474840] .jpg

进入这个:

  

josh_sam01.jpg

变量为:'john''sam'两个数字和TIF后的数字。

1 个答案:

答案 0 :(得分:2)

类似的东西,为了清晰起见添加了新行:

dir ‹parameters to select the set of files› |
   % {
     $newName = $_.Name -replace '\s\[TIF \d+\]',''
     rename-item -newname $newName -literalPath $_.Fullname
   }

几乎肯定会在重命名时添加 - whatif,直到我确定我已选择文件并重命名为正确。