将文件名中的括号更改为圆括号

将文件名中的括号更改为圆括号

我需要在多个文件夹内将音频文件名称中的方括号递归更改为括号。

原名:
Gonna Get Along Without You Now [Strelka Sounds Edit].mp3

我试过:

ls $location* -Recurse -Include *.mp3 | Rename-Item -NewName {$_.name -Replace '[\[\]]', '('}

结果是:
Gonna Get Along Without You Now (Strelka Sounds Edit(.mp3

期望结果:
Gonna Get Along Without You Now (Strelka Sounds Edit).mp3

如何使括号按正确的顺序排列?

答案1

执行两个连续的-replaces,一个用于 [ -> (另一个用于 ] -> ),例如$foo -replace '\[','(' -replace '\]',')'- 或者,如果您想避免转义正则表达式有效字符,请使用.replace()字符串对象的方法,$foo.replace('[','(').replace(']',')')

相关内容