2017-10-06 1 views
2

Dropbox에서 여러 파일을 다운로드하면 모든 스웨덴 문자 ä는 + ñ가됩니다. 나는 이것을 ñ로 바꾸고 싶다.PowerShell에서 더하기 기호로 파일 이름 바꾸기

Get-ChildItem -Filter "*+ñ*" -Recurse | Rename-Item -NewName {$_.name -replace '"+ñ"','ä'} 

그러나이 얻는 follwing을 오류 메시지가 실행 :

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 

그래서 나는 + 문자에 내려 삶은 한 문제

내 명령은 다음과 같다. PowerShell에서 자동으로 처리되지 않는 + 및 다른 유형의 문자는 어떻게 처리합니까?

답변

4

-replace 연산자는 정규식 검색을 수행합니다. 기록은 "비 정규식 버전

Get-ChildItem -Filter "*+ñ*" -Recurse | Rename-Item -NewName {$_.name.replace('"+ñ"','ä')} 
+3

:

Get-ChildItem -Filter "*+ñ*" -Recurse | Rename-Item -NewName {$_.name -replace '"\+ñ"','ä'} 

당신은 또한 비 정규식 버전을 사용할 수 있습니다 + 때문에 탈출에이 백 슬래시를 사용하여 당신이 한정 기호입니다 ".NET [String.Replace()] (https://msdn.microsoft.com/en-us/library/fk49wtc1(v=vs.110) .aspx) – Tomalak

관련 문제