Powershell:替换文件名的特殊字符

问题描述

首先我要说我还是Powershell脚本的初学者。

我试图通过将文件名中的“ +”替换为“”来递归重命名目录中的所有文件

我使用的命令是:Get-ChildItem -File -Recurse | Rename-Item -NewName {$_.name -replace "+"," "}但不起作用,并给我以下错误

enter image description here

相反,如果我这样做:Get-ChildItem -File -Recurse | Rename-Item -NewName {$_.name -replace "a"," "}一切正常。

我认为问题出在“ +”字符上,但是在网络上找不到解决该问题的任何东西。有谁知道如何表示或解决这个问题?

解决方法

您必须转义加号,并且命令应该起作用:

Get-ChildItem -File -Recurse | Rename-Item -NewName {$_.name -replace "\+"," "}