我想重命名此文件:
Howard -((TV) )RED HEADED LEAGUE.mp4
为此:
Howard - (TV) RED HEADED LEAGUE.mp4
因为-Replace Powershell命令需要正则表达式正则表达式,所以我这样做是为了重命名文件:
Get-ChildItem | Rename-Item -NewName {$_.name -replace '\(\(TV\) \)',' \(TV\) '}
但是,输出此错误:
Cannot rename the specified target, because it represents a path or device name.
并且按照Google的建议,用反斜杠转义括号,不会输出错误,但不会重命名文件:
Get-ChildItem | Rename-Item -NewName {$_.name -replace '`(`(TV`) `)',' `(TV`) '}
我该如何进行这项工作?谢谢。
如评论中所述,替换字符串(-replace
的第二个右侧参数)不需要转义!
逐字放置在字符串中,因此示例中的结果文件名变为Howard - \(TV\) RED HEADED LEAGUE.mp4
-这就是文件系统抱怨\
不是有效的文件名字符的原因。
如果您只是这样做:
{$_.Name -replace '\(\(TV\) \)',' (TV) '}
...它将起作用:)