Regex 在PowerShell中重命名带加号的文件

Regex 在PowerShell中重命名带加号的文件,regex,windows,powershell,special-characters,rename,Regex,Windows,Powershell,Special Characters,Rename,当我从dropbox下载了一堆文件后,所有的瑞典语字符都变成了+ñ。我想替换这个+ñtoä 我的命令如下: Get-ChildItem -Filter "*+ñ*" -Recurse | Rename-Item -NewName {$_.name -replace '"+ñ"','ä'} 但运行此命令会得到以下错误消息: Rename-Item : The input to the script block for parameter 'NewName' failed. Invalid reg

当我从dropbox下载了一堆文件后,所有的瑞典语字符都变成了+ñ。我想替换这个+ñtoä

我的命令如下:

Get-ChildItem -Filter "*+ñ*" -Recurse | Rename-Item -NewName {$_.name -replace '"+ñ"','ä'}
但运行此命令会得到以下错误消息:

Rename-Item : The input to the script block for parameter 'NewName' failed. Invalid regular expression pattern: +ñ.
At line:1 char:60
+ Get-ChildItem -Filter "*+ñ*" -Recurse| Rename-Item -NewName <<<<  {$_.name -replace $str1,"ä"}
+ CategoryInfo          : InvalidArgument: (S+ñker.txt:PSObject) [Rename-Item], ParameterBindingException
+ FullyQualifiedErrorId : ScriptBlockArgumentInvocationFailed,Microsoft.PowerShell.Commands.RenameItemCommand
重命名项:参数“NewName”的脚本块输入失败。无效的正则表达式模式:+ñ。
第1行字符:60

+Get ChildItem-Filter“*+ñ*”-Recurse | Rename Item-NewName操作符执行正则表达式搜索。由于
+
是一个量词,因此必须使用反斜杠对其进行转义:

您还可以使用非正则表达式版本:

Get-ChildItem -Filter "*+ñ*" -Recurse | Rename-Item -NewName {$_.name.replace('"+ñ"','ä')}
作为记录,“非正则表达式版本”是.NET
Get-ChildItem -Filter "*+ñ*" -Recurse | Rename-Item -NewName {$_.name.replace('"+ñ"','ä')}