PowerShell重命名多个文件,文件名的特定部分

我正在尝试重命名文件名以相同方式结尾的多个文件。这些文件当前为:“ Foo Bar(U)(V7.9)(USA).txt”“ Few Ber Doo Ber(U)(V7.9)(USA).txt” ect

我正在尝试删除名称的“(U)(V7.9)(USA)”部分,并用(USA)替换此部分。这些文件将被命名为:“ Foo Bar(USA).txt”“ Few Ber Doo Ber(USA).txt”

我无法完全正常工作,但以下是我一直尝试无济于事的方法:

get-childItem '* (U) (V7.9) (USA).txt' | rename-item -newname { $_.name -replace '(U) (V7.9) (USA)','(USA)' }
安东尼·内斯(Anthony Neace)

您要替换的几个字符是正则表达式中的特殊字符。它们具有特殊的保留含义,可让您在不“转义”时创建复杂的表达式。为了逃避它们,您只需要在特殊字符前面加上反斜杠即可。例子:

PS C:\> $string = "(U) (V7.9) (USA)"

#Failure
PS C:\> $string -replace "(U) (V7.9) (USA)", "(USA)"
(U) (V7.9) (USA)

#Success
PS C:\> $string -replace "\(U\) \(V7\.9\) \(USA\)", "(USA)"
(USA)

如果您遇到类似的问题,这是《Powershell正则表达式参考》您可能会注意到,使用了反引号`字符而不是反斜杠-反引号是powershell中的转义字符,但是对于.NET(基于Powershell的构建)中的所有正则表达式处理而言,情况并非如此。因此,您可能会在Internet上的正则表达式示例中看到两者都用于powershell。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 PowerShell 中重命名文件名

来自分类Dev

重命名文件名的特定组成部分,从小写改为大写

来自分类Dev

重命名与模式匹配的文件名部分

来自分类Dev

bash重命名不同目录中文件名的部分

来自分类Dev

Powershell递归文件名读取并重命名

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

PowerShell - 重命名对象数组中的重复文件名

来自分类Dev

重命名多个目录中的文件名

来自分类Dev

用bash重命名多个文件名

来自分类Dev

解析文件名并按特定顺序重命名

来自分类Dev

重命名和重新排列多个文件名而不重命名

来自分类Dev

如何使用查找/重命名重命名多个文件名

来自分类Dev

尝试小写多个文件名的部分时,重命名将返回“不允许使用密码”

来自分类Dev

Bash oneliner重命名文件名

来自分类Dev

重命名现有文件名

来自分类Dev

Excel VBA重命名文件名

来自分类Dev

如何重命名(太长)文件名

来自分类Dev

重命名上载的文件名,JSP

来自分类Dev

重命名现有文件名

来自分类Dev

剥离文件名并重命名

来自分类Dev

Bash:重命名文件名开头

来自分类Dev

为重命名清理文件名

来自分类Dev

重命名文件名python

来自分类Dev

读取多个CSV文件,然后根据文件名重命名文件

来自分类Dev

重命名多个文件夹中的多个文件名

来自分类Dev

如何通过在Windows中的文件名之间添加通用名来重命名多个文件?

来自分类Dev

将文件重命名为文件名的前缀和中间部分

来自分类Dev

重命名文件,删除文件名bash脚本的一部分

来自分类Dev

通过提取与模式匹配的部分文件名来重命名文件