나는 이것이 시대에 뒤진 것임을 알고 있지만, 여전히 늦은 사람들에게 유용 할 수 있습니다. (편집 :이 이후 업데이트 여전히 트래픽을 얻고 @Goozak 샘플의 내 원래의 분석뿐만 아니라 정확 의견에서 지적하고있다.)
내가 귀하의 링크에서 예제 코드에서이 뽑아 :
IF !%1==! GOTO VIEWDATA
REM IF NO COMMAND-LINE ARG...
FIND "%1" C:\BOZO\BOOKLIST.TXT
GOTO EXIT0
REM PRINT LINE WITH STRING MATCH, THEN EXIT.
:VIEWDATA
TYPE C:\BOZO\BOOKLIST.TXT | MORE
REM SHOW ENTIRE FILE, 1 PAGE AT A TIME.
:EXIT0
!%1==!
은 변수가 들어있는 왼쪽에있는 것이 오른쪽에있는 것과 다르다는 것을 확인하기위한 것입니다. ==
의 관용적 사용에 불과합니다. 이 경우 !
은 문자 자리 표시 자일뿐입니다. 그것은 무엇이든 수 있습니다. %1
에 내용이있는 경우, 동등 함은 false가되고, 그렇지 않으면 !
과 !
을 비교하는 것이되며 사실 일 것입니다.
!==!
은 연산자가 아니므로 "asdf" !==! "fdas"
을 작성하는 것은 무의미합니다.
if not "asdf" == "fdas"
을 사용하는 것이 좋습니다.
이렇게하려면 명령 확장을 켜야합니다 (기본값은 2000+ 이상이지만 시스템 전체 또는 cmd.exe의 매개 변수로 해제 할 수 있음) 일반적으로 setlocal을 사용하여 설정해야하지만 그렇지 않은 경우 간단하게 설정해야합니다 동등한 테스트, 그냥 "사용하지 않으면", 그것은 좋은 옛 도스 일로 돌아갑니다 – Anders