重命名文件的正则表达式



我需要一个正则表达式来重命名数百个pdf文件与PowerRenameMicrosoft PowerToys工具箱或Windows PowerShell的工具。文件命名如下:

100_20_Mustermann_Max_something_else.pdf
5421_826_Mustermann_Sam_something_else.pdf

我想替换第三个下划线"_"逗号加空格", "结果应该是:

100_20_Mustermann, Max_something_else.pdf
5421_826_Mustermann, Sam_something_else.pdf

我不熟悉regEx有人能帮忙吗?

gci | % {
$newName = $_.FullName -replace '([^_]+)_([^_]+)_([^_]+)_([^_]+)_([^_]+)_(.+)', '$1_$2_$3, $4_$5_$6'
Rename-Item -Path $_.FullName $newName -WhatIf
}

如果脚本运行目录下的所有文件都与提供的文件名示例匹配,那么这个Powershell应该可以为您工作。

它只是简单地捕获了5个下划线周围的6组,然后用第三个下划线替换重新构建。

你可以删除-WhatIf安全捕获,一旦你很高兴继续并重新命名文件。

最新更新