regex 用于重命名文件的正则表达式

xyhw6mcr  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(111)

我需要一个正则表达式来重命名数以百计的pdf文件与PowerRename工具的Microsoft 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,有人能帮忙吗?

yiytaume

yiytaume1#

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

    Rename-Item -Path $_.FullName $newName -WhatIf
}

如果脚本运行目录中的所有文件都与提供的文件名示例匹配,则此Powershell应该可以为您工作。
它只是简单地捕获5个下划线周围的6个组,然后用第三个下划线替换重新构建。
您可以删除**-WhatIf**安全锁,只要您愿意继续并真实的重命名文件。

相关问题