MS-DOS 및 Windows 명령 행 if 명령

차례:

MS-DOS 및 Windows 명령 행 if 명령
MS-DOS 및 Windows 명령 행 if 명령

비디오: CMD랑 친해지기!! -컴맹편- 2024, 할 수있다

비디오: CMD랑 친해지기!! -컴맹편- 2024, 할 수있다
Anonim

경우 일괄 프로그램에서 명령을 수행 조건 처리.

유효성

if 명령은 배치 파일에서 액세스되고 사용되는 내부 명령입니다.

  • 윈도우 95
  • 윈도우 98
  • 윈도우 NT
  • 윈도우 XP
  • 윈도우 2000
  • 윈도우 비스타
  • 윈도우 7
  • 윈도우 8
  • 윈도우 10

통사론

  • Windows Vista 이상 구문
  • Windows XP 및 이전 구문

Windows Vista 이상 구문

IF [NOT] ERRORLEVEL 번호 명령 IF [NOT] string1 == string2 명령 IF [NOT] EXIST 파일 이름 명령

아니 조건이 false 인 경우에만 Windows 2000 또는 XP가 명령을 수행하도록 지정합니다.
ERRORLEVEL 번호 마지막 프로그램 실행이 지정된 수 이상으로 종료 코드를 리턴 한 경우 true 조건을 지정합니다.
string1 == 문자열 2 지정된 텍스트 문자열이 일치하면 참 조건을 지정합니다.
기존 파일 이름 지정된 파일 이름이 존재하면 true 조건을 지정합니다.
명령 조건이 충족되면 수행 할 명령을 지정합니다. 지정된 조건이 FALSE 인 경우 ELSE 키워드 다음에 명령을 실행하는 ELSE 명령이 명령 뒤에 올 수 있습니다.

ELSE 절은 IF 이후의 명령과 같은 행에 있어야합니다. 예를 들면 다음과 같습니다.

존재하는 경우 파일 이름입니다. (del filename.) ELSE (에코 파일명. 누락)

del 명령을 줄 바꿈으로 종료해야하므로 아래 예는 작동하지 않습니다.

존재하는 경우 파일 이름입니다. 델 파일 이름. ELSE 에코 파일 이름. 잃어버린

ELSE 명령이 IF 명령의 끝과 같은 행에 있어야하므로 아래 예는 작동하지 않습니다.

존재하는 경우 파일 이름입니다. 델 파일 이름. ELSE 에코 파일 이름. 잃어버린

아래 예제는 한 줄에 모두 표시하려는 경우 작동합니다.

존재하는 경우 파일 이름입니다. (del 파일 이름) ELSE 에코 파일 이름. 잃어버린

명령 확장이 활성화 된 경우 IF는 다음과 같이 변경됩니다.

IF [/ I] string1 비교 -op string2 명령 IF CMDEXTVERSION 번호 명령 IF DEFINED 변수 명령

여기서 compare-op는 다음 중 하나 일 수 있습니다.

  • EQU- 동일
  • NEQ - 같지 않음
  • LSS- 미만
  • LEQ- 이하
  • GTR- 보다 큼
  • GEQ- 이상

/ I 스위치는 지정된 경우 대소 문자를 구분하지 않는 문자열 비교를 수행하도록 지시합니다. / I 스위치는 string1 == string2 형식의 IF에서도 사용할 수 있습니다. string1과 string2가 모두 숫자로 구성된 경우 이러한 비교는 일반적이며 숫자로 변환되어 숫자 비교가 수행됩니다.

CMDEXTVERSION 조건은 명령 확장과 연관된 내부 버전 번호와 비교하는 것을 제외하고 ERRORLEVEL과 같이 작동합니다. 첫 번째 버전은 1입니다. 명령 확장 기능이 크게 향상되면 1 씩 증가합니다. 명령 확장이 비활성화 된 경우 CMDEXTVERSION 조건은 절대 적용되지 않습니다.

DEFINED 조건은 환경 변수 이름을 사용하고 환경 변수가 정의 된 경우 true를 리턴한다는 점을 제외하고 EXISTS와 같이 작동합니다.

% ERRORLEVEL %은 이름이 ERRORLEVEL 인 환경 변수가없는 경우 현재 값 ERRORLEVEL의 문자열로 확장됩니다.이 경우 값을 가져옵니다. 프로그램을 실행 한 후 아래 예는 ERRORLEVEL 사용을 보여줍니다.

goto answer % ERRORLEVEL %: answer0 echo 프로그램에 리턴 코드가 0: answer1 echo 프로그램에 리턴 코드 1이 있습니다.

아래의 수치 비교를 사용할 수도 있습니다.

% ERRORLEVEL % LEQ 1이면 괜찮습니다

CMDCMDLINE 환경 변수가없는 경우 CMD.EXE에 의해 처리하기 전에 % CMDCMDLINE %이 CMD.EXE에 전달 된 명령 줄로 확장됩니다.이 경우 값을 가져옵니다.

이름이 CMDEXTVERSION 인 환경 변수가없는 경우 % CMDEXTVERSION %은 CMDEXTVERSION 값의 문자열로 확장됩니다.이 경우 값을 가져옵니다.

Windows XP 및 이전 구문

배치 프로그램에서 조건부 처리를 수행합니다.

IF [NOT] ERRORLEVEL 번호 명령 IF [NOT] string1 == string2 명령 IF [NOT] EXIST 파일 이름 명령

아니 조건이 false 인 경우에만 Windows가 명령을 수행하도록 지정합니다.
ERRORLEVEL 번호 마지막 프로그램 실행이 지정된 수 이상으로 종료 코드를 리턴 한 경우 true 조건을 지정합니다.
명령 조건이 충족되면 수행 할 명령을 지정합니다.
string1 == 문자열 2 지정된 텍스트 문자열이 일치하면 참 조건을 지정합니다.
기존 파일 이름 지정된 파일 이름이 존재하면 true 조건을 지정합니다.