배치 파일에서 변수를 정의하고 사용하려고합니다. 간단해야합니다.
@echo off
set location = "bob"
echo We're working with "%location%"
내가 얻는 결과는 다음과 같습니다.
We're working with ""
무슨 일이야? 변수가 에코되지 않는 이유는 무엇입니까?
답변
앞의 공백 =
은 이름의 일부로 해석되고 그 뒤의 공백과 인용 부호는 값의 일부로 해석됩니다. 따라서 생성 한 변수는로 참조 할 수 있습니다 %location %
. 그것이 원하는 것이 아니라면, 정의에서 여분의 공간을 제거하십시오.
답변
공간이 중요합니다. 'location '
값으로 이름이 지정된 변수를 작성했습니다
' "bob"'
.참고-작은 따옴표를 묶어 공간의 위치를 표시했습니다.
당신의 가치에 따옴표를 원한다면, 코드는 다음과 같아야합니다
set location="bob"
따옴표를 원하지 않으면 코드는 다음과 같아야합니다.
set location=bob
아니면 더 나은
set "location=bob"
마지막 구문은 부주의 한 후행 공백이 값에 들어가는 것을 방지하고 &
|
등의 특수 문자로부터 보호합니다 .
답변
입력 location.bat
@echo off
cls
set /p "location"="bob"
echo We're working with %location%
pause
산출
We're working with bob
(실수 한 실수 : space
및 " "
)