명령을 사용 start
하여 URL에 앰퍼샌드가있는 웹 페이지를 열려면 배치 파일 (또는 Windows 명령 행)에서 앰퍼샌드를 이스케이프 처리하려면 어떻게해야 합니까?
큰 따옴표는 작동하지 않습니다 start
. 대신 새 명령 줄 창이 시작됩니다.
업데이트 1 : Wael Dalloul의 솔루션이 작동합니다. 또한 URL에 URL 인코딩 문자 (예 : 공백은 % 20으로 인코딩 됨) 가 있고 배치 파일에 있으면 '%'는 '%%'로 인코딩해야합니다. 이 예에서는 그렇지 않습니다.
예를 들어, 명령 행 ( CMD.EXE
)에서 :
start http://www.google.com/search?client=opera&rls=en&q=escape+ampersand&sourceid=opera&ie=utf-8&oe=utf-8
결과
http://www.google.com/search?client=opera
기본 브라우저에서 열리고 명령 행 창에서 다음 오류가 발생합니다.
'rls' is not recognized as an internal or external command,
operable program or batch file.
'q' is not recognized as an internal or external command,
operable program or batch file.
'sourceid' is not recognized as an internal or external command,
operable program or batch file.
'ie' is not recognized as an internal or external command,
operable program or batch file.
'oe' is not recognized as an internal or external command,
operable program or batch file.
플랫폼 : Windows XP 64 비트 SP2
+
내가 탈출을 앞에 넣어해야하는지?
start "http://www.google.com/search?client=opera&rls=en&q=escape+ampersand&sourceid=opera&ie=utf-8&oe=utf-8"
작동하기 때문에 PowerShell은에서 따옴표를 제거합니다
start
생각없이 적용하면 인수 인용이 실패 하는 기발한 것입니다 . 그리고 전반적으로 나는 인수를 따옴표로 묶는 것이 탈출 해야하는 모든 문자를 피하는 것보다 쉽고 오류가 덜 발생한다고 생각합니다.