@isdir
은 대문자로 항상 FALSE
또는 TRUE
으로 확장됩니다.
if @isdir equ FALSE
이
FALSE
때문에
FALSE
이나 문자열
TRUE
정수로 성공적으로 변환 할 수도 문자열의 문자열 비교로 다시 떨어지는 정수 비교 연산자
EQU
를 사용하여와
FALSE
또는
TRUE
의 대소 문자를 구분 문자열 비교입니다, 자세한 내용은
Symbol equivalent to NEQ, LSS, GTR, etc. in Windows batch files를 참조하십시오. 명령 줄에서 대소 문자를 구분 문자열 비교 사용을 위해
:
if /I @isdir == FALSE
그리고 if @isdir==FALSE
는 if @isdir equ FALSE
보다 더 나은이지만, 동작은 동일합니다.
if @isdir == FALSE
은 100 % 올바른 구문이므로 사용하는 것이 가장 좋습니다. 평등 문자열 비교 명령 구문
경우 :
IF FirstStringToCompare == SecondStringToCompare Command
또는 공간 또는 &()[]{}<>|^=;!'+,`~
함유 문자열
IF "first string to compare" == "second string to compare" "command to execute"
명령은 이고 먼저 인수 분리 IF 공백 문자가있는 문자열. 문자열은입니다. 이 경우또는 TRUE
문자열입니다. 비교할 첫 번째 문자열은 두 번째 인수와 공백으로 구분되며 동등 연산자는 ==
입니다. 공간이 하나 더 있으면 비교할 두 번째 문자열 인 세 번째 인수가 지정됩니다. 세 번째 인수의 공백으로 다시 구분 된 마지막 명령은 문자열 동일성으로 실행할 명령입니다.
연산자 ==
주위의 공백은 실제로는 첫 번째와 두 번째 및 세 번째 인수를 구분할 필요가 있지만 종종 생략됩니다.그러나 Windows 명령 인터프리터는 운영자 ==
주위 누락 된 공간을 인식하고 출력 결과 명령 프롬프트 창에서이 배치 파일을 단지 두 줄
if FALSE==FALSE echo It is FALSE.
if TRUE == FALSE echo It is FALSE.
을 배치 파일로 작성에 자동으로 볼 수있는로 추가하고 실행 : if FALSE == FALSE echo It is FALSE.
It is FALSE.
if TRUE == FALSE echo It is FALSE.
정말 Windows 명령 인터프리터에 의해 전처리 한 후 실행 된 명령 줄 것은 각 인수 사이에 하나의 공간을 가지고있다.
명령 프롬프트 창 if /?
에서 실행에 출력으로 문자열 비교 구문을 보여줍니다 경우 명령 에 대한 도움말 :
그래서 그것을 [NOT] 문자열 1 == 문자열 2 명령
IF 비교할 문자열이 등호를 포함하지 않는 한 ==
의 왼쪽과 오른쪽 공백은 실제로 필요하지 않다고 가정 할 수 있습니다.이 경우에는 두 문자열을 큰 따옴표로 묶어야합니다.
표준 'FOR'명령이 정상적으로 작동하면'FORFILES'를 사용하는 이유는 무엇입니까? 'FOR' 명령은 파일만을 나열합니다. – Squashman
@Squashman 나는 박쥐 스크립트에 익숙하지 않다. 제공된 솔루션은 내가 아래에 게시 한 링크에서 복사하여 붙여 넣었습니다. 같은 저자 ('dir/b/ad^| findstr/vile ".sdbk .log .bat"')의/f %% F에 대한 다른 해결책은 "%% F" 파일 이름에 공백이 있으면 작업하지 않습니다. –
'forfiles' 명령과'if' 문과 관련된 모든 것은 없습니다. 'if /? '를 확인하십시오. – SomethingDark