regex - 使用正则表达式进行 PowerShell 批量重命名?看不懂表情

标签 regex powershell

所以我有一组具有以下文件名的文件:

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/

相关文章:

Python正则表达式否定强制字符出现

PHP:正则表达式和特定标签剥离

arrays - 如何确保JSON保持数组

linux - Powershell POST 到 Linux curl

powershell - 使用 Powershell 在 TeamCity 中创建构建配置

javascript - 如何检查第一个字符是否为字母

javascript - 用于骰子滚动系统和使用 javascript 捕获的正则表达式

java - 替换特殊字符(与空格一起被认为是相同的)

powershell - 使用 Powershell 登录 DirectAdmin

powershell - 重命名文件共享中的文件夹