구두점이 포함 된 폴더에서는 Powershell 열기가 작동하지 않습니다 방법을 찾고있는 방법입니다.

최근에 이름에 문장 부호가있는 특정 폴더에서 Powershell이 ​​열리지 않는 문제가 발생했습니다.
이것이 내가이 동작을 담당하는 레지스트리 키를 수정하는 방법을 찾고있는 방법입니다.
다음 폴더 중 하나에서 PS를 열 때 나타나는 실제 오류 메시지입니다.
Powershell Script is missing the Terminator '

그리고 이것은 지금까지 내 명령 줄입니다.
powershell.exe -noexit -command Set-Location -literalPath '%V'

그래서 이것은 인코딩 문제라고 생각하고 레지스트리 키를 다음과 같이 수정하여 UTF-8 인코딩으로 powershell을 시작했습니다.
powershell.exe -noexit -command Set-Location -literalPath '%V'; "chcp.com 65001"

그다지 성공하지 못했습니다 …하지만 내 프로세스가 옳은지 모르겠습니다. 그래서 문제를 파악하고 해결할 수 있는지 묻습니다.

NB : PS에서 인코딩을 수정하지 않고도 폴더를 수동으로 탐색 할 수 있습니다.



답변

PS의 문자열 종료 문자이므로 설계된대로 작동합니다.

문자까지 읽고 읽는 것을 의미합니다. 따라서 인코딩 오류가 아닙니다.

Open PowerShell Here는 dir 이름과 종료 문자가있는 항목을 가져 오는 것이므로 직접 처리해야하며 물론 해당 구성 으로이 작업을 수행 할 수있는 방법이 없습니다.

Windows 탐색기에서 일반적인 방법으로이 작업을 수행 한 것처럼 Open PowerShell Here에서 발생하는 오류는 아닙니다.

  • 탐색기 열기
  • 폴더로 이동
  • Alt, F를 누르고 PowerShell로 열기를 선택하십시오.
  • 또는 툴바에서 PowerShell 아이콘을 클릭하십시오

… 같은 일이 일어날 것입니다.

폴더 이름에서 문자열 종결자인 문자를 제거해야합니다.

코드에서이 작업을 수행하는 경우 해당 폴더를 큰 따옴표로 묶어야합니다.

에 대한 도움말 문서를 참조하십시오…

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-6