所以我有一组具有以下文件名的文件:
52 39 118 070 13200 5480.txt
83 39 010 392 01000 9970.txt
37 39 880 163 17802 0473.txt
我正在尝试将它们重命名为:
2012 文件说明 (52-39-118-070-13200-5480).txt
2012 文件说明 (83-39-010-392-01000-9970).txt
2012 文件说明 (37-39-880-163-17802-0473).txt
但是,我无法弄清楚相应的正则表达式是什么,以及如何将其编码到 PowerShell 中。我看到了大量删除空格或下划线的示例,但没有添加到字符串中。
请注意,“2012 文件描述”对于所有被重命名的文件都是不变的。我唯一想更改的是将原始文件名移到括号中并将空格更改为破折号。
谢谢你。
最佳答案
您可以使用单行(管道直接连接到 Rename-Item)来实现,但为了简单起见,我使用了 Foreach-Object
小命令:
Get-ChildItem -Filter *.txt | Foreach-Object{
$NewName = '2012 File Description ({0}){1}' -f ($_.BaseName -replace '\s','-'),$_.Extension
Rename-Item -Path $_.FullName -NewName $NewName
}
关于regex - 使用正则表达式进行 PowerShell 批量重命名?看不懂表情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8227391/