Windows 명령줄 이스케이프 문자

Windows 명령줄 이스케이프 문자

간단히 말해서: 스크립트로부터 명령을 받고 Windows 셸을 사용하여 실행하려고 합니다.

현재 우리는 다음과 유사한 방법을 사용합니다.

echo start & command & echo finish

명령에 자체적으로 앰퍼샌드가 포함되어 있지 않으면 잘 작동합니다. 예를 들어

echo begin & if exist c:\temp.txt echo 1 & echo end파일이 존재하지 않으면 "end"를 쓰지 못합니다.

명령을 로 변경하면 문제가 해결될 수 있지만 echo begin & (if exist c:\temp.txt echo 1) & echo end, 예를 들어 괄호 기호가 포함된 명령에서는 문제가 발생합니다.

echo begin & (echo %PATH%) & echo end"\Hewlett-Packard\HP는 현재 예상치 못한 제품입니다."가 인쇄됩니다. 경로에 프로그램 파일(x86)이 있기 때문입니다.

명령 결과에서 특수 문자를 이스케이프 처리하는 방법이 있습니까?

미리 감사드립니다

답변1

문제는 PATH의 공백이므로 따옴표를 사용하십시오.

  echo begin & (echo "%PATH%") & echo end

관련 정보