작은 일괄 처리 스크립트가있어서 왜 이런 식으로 작동하는지 궁금합니다. 스 니펫은 for 루프를 보여 주며 Rf-Stick1.conf를 찾고 문자열 "type"을 찾습니다. 더 나아가 "TYPE"에 다음 값을 써야합니다.for 루프에서 변수를 읽는 일괄 파일
"echo! TYPE!"을 사용할 때 작동하지만 if 문이 작동하지 않습니다. 누군가 문제를 알고 있습니까? 당신은 유효 조건이 당신이 원하는 수 있도록 귀하의 경우 조건을 변경해야 if not TYPE!
로
for /f "tokens=2 delims=: " %%a in ('type "Configs\Rf-Stick1.conf" ^| findstr /ir "^type" 2^>nul') DO set "TYPE=%%a"
echo !TYPE!
if !TYPE! EQU "RF" echo rf
이 (http://stackoverflow.com/a/43935679/2096401) 당신이 필요 아마로 시도, 또한 '에코 ::! TYPE 같은 것을 사용! ::'때마다 값을 디버깅하여 문제의 원인이 될 수있는 선행/후행 공백 등이 있는지 확인할 수 있습니다. – TripeHound
'if' 문은 말 그대로 인용 부호를 취해 비교에 포함합니다; 따라서 비교 연산자의 양쪽에 제공해야합니다 :'if "! TYPE!" EQU "RF"echo rf' – aschipfl