【发布时间】:2016-01-16 02:19:45
【问题描述】:
我在网上找到了与这些类似的命令。我想将文件名中的括号替换为空格或空字符串。
我尝试更改的文件如下所示:
Nehemiah (1).mp3
Nehemiah (2).mp3
Nehemiah (11).mp3
我真的希望它们看起来像下面这样:
Nehemiah 01.mp3
Nehemiah 02.mp3
Nehemiah 11.mp3
这是我尝试过的脚本。
Dir | Rename-Item –NewName { $_.name –replace “(“,”” }
Dir *.mp3 | rename-item -newname { $_.name -replace " ("," " }
这些都不起作用。
这是我收到的错误消息。
Rename-Item :参数“NewName”的脚本块的输入 失败的。正则表达式模式 ( 无效。在 line:1 字符:34 + 目录 *.mp3 |重命名项目 -newname { $_.name -replace " ("," " } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (C:\Users...ehemiah (1).mp3:PSObject) [Rename-Item],参数 ndingException + FullyQualifiedErrorId : ScriptBlockArgumentInvocationFailed,Microsoft.PowerShell.Commands.RenameItemCommand
【问题讨论】:
-
-replace需要正则表达式模式,您需要转义(:-replace [regex]::Escape(" (")," " -
感谢 Mathias,解决了问题。我想知道是否需要转义括号但我找不到需要转义的字符列表以及如何在线转义它们。我去的网站都没有列出括号。
-
另外,请选择一个标签。没有批处理文件代码时使用批处理文件。
标签: powershell