问题描述
首先我要说我还是Powershell脚本的初学者。
我试图通过将文件名中的“ +”替换为“”来递归重命名目录中的所有文件。
我使用的命令是:Get-ChildItem -File -Recurse | Rename-Item -NewName {$_.name -replace "+"," "}
但不起作用,并给我以下错误:
相反,如果我这样做:Get-ChildItem -File -Recurse | Rename-Item -NewName {$_.name -replace "a"," "}
一切正常。
我认为问题出在“ +”字符上,但是在网络上找不到解决该问题的任何东西。有谁知道如何表示或解决这个问题?
解决方法
您必须转义加号,并且命令应该起作用:
Get-ChildItem -File -Recurse | Rename-Item -NewName {$_.name -replace "\+"," "}