답변:
비밀번호를 큰 따옴표로 묶어야합니다.
set pwd="abc&123"
echo %pwd%
어떻게되는지 알려주세요.
set "pwd=abc&123"
나는 그것이 martineau의 답변과 mastashake57의 답변의 조합으로 가장 잘 작동한다는 것을 알았습니다.
set pwd=abc^&123
echo %pwd%
여전히 실패하고
set pwd="abc&123"
echo %pwd%
따옴표를 추가합니다 ( for
앰퍼샌드 덕분에 다시 실패하기 때문에 루프 또는 문자열 조작으로 따옴표를 제거 할 수 없습니다 ).
하나,
set "pwd=abc^&123"
echo %pwd%
완벽하게 작동합니다.
희망이 도움이됩니다.
pwd
됨) abc^&123
. 대부분의 경우 이것은 아마도 정확히 당신이해야 할 일이지만, 무슨 일이 일어나고 있는지 알지 못하면 잡을 수 있습니다.
/?
포괄적 인 문서가 아닌 요약 만 제공합니다.
당신이 정말로 필요한 것은 :
set pwd=abc^^^&123
echo %pwd%
또는:
set "pwd=abc^&123"
echo %pwd%
때문에 &
특수 문자가, 당신은 그것을 탈출해야한다 ^
결과 ^&
.
실행 set pwd=abc^&123
하면 변수가 값으로 설정됩니다 abc&123
. 그 후 echo %pwd%
, 당신이 달리면, 당신은 효과적으로 달리고 echo abc&123
있습니다.
그러나 특별한 문자 echo abc&123
이기 때문에 예상대로 작동하지 않습니다 &
. 따옴표를 추가하여 이것을 피할 수 있습니다. echo "abc&123"
그러나 출력에는 따옴표도 있습니다. 즉, 따옴표를 사용하는 것이 올바른 해결책이 아닙니다.
필요한 것은 명령 &
을 실행할 때 char 을 이스케이프 처리하는 것입니다 echo
.
echo abc^&123
따라서 변수는 값을 포함해야합니다 abc^&123
. 값으로 변수를 설정하려면 abc^&123
, 당신은 특수 문자를 탈출해야합니다 ^
및 &
결과 :
set pwd=abc^^^&123