我有一系列要重命名的文件。我想在"-“分隔符第一次出现后用填充零重命名文件,如下例所示:
老字号:101-1_File1 1_Project1-000-END.txt
所需的新名称: 101-001_File1_Project1-000-END.txt
我有几乎可以工作的PowerShell代码,只不过它将填充应用于所有"-“实例,而不仅仅是第一个实例。我试过无数种东西,但都没有用。请帮帮我!
PowerShell如下:
gci "C:\Path\Folder-with-Files" | ren -n {[regex]::replace($_.basename, '\-', {"$args".PadRight(3, '0')})+ $_.extension}发布于 2021-08-27 21:15:15
您可以使用lookbehind:
gci "C:\Path\Folder-with-Files" | ren -n {[regex]::replace($_.basename, '(?<=^[^-]*)-', {"$args".PadRight(3, '0')})+ $_.extension}(?<=^[^-]*)-正则表达式将匹配紧跟字符串(^)开头的-,然后匹配除连字符以外的零或多个字符。
见.NET regex演示。
https://stackoverflow.com/questions/68959407
复制相似问题