알아두면 요긴하게 쓰이는 Dos의 Batch에 대해서 알아보자.
먼저 IF에 대해서 알아보자. 프롬프트에서 if/? 해보자
IF [NOT] ERRORLEVEL 숫자 명령어 NOT 조건이 거짓이면 명령을 수행하라고 지정합니다. ERRORLEVEL 숫자 마지막 프로그램 실행에서 반환된 마침 코드가 문자열1==문자열2 지정된 문자열이 일치하면 조건을 참으로 지정합니다. EXIST 파일이름 지정된 파일이름이 있으면 조건을 참으로 지정합니다. 명령어 조건이 만족되면 실행할 명령을 지정합니다. ELSE 구문은 IF 명령 다음의 명령줄과 동일한 행에 위치해야 합니다. IF EXIST filename. ( Del 명령은 다음 줄에서 시작되어야 하므로 다음 예제는 IF EXIST filename. del filename. ELSE echo filename. missing ELSE 명령이 IF 명령의 마지막과 같은 행에 있어야 하므로 IF EXIST filename. del filename. 한 행에서 모든 내용을 작업하려면 다음과 같이 작성하십시오. IF EXIST filename. (del filename.) ELSE echo filename. missing 명령 확장을 사용하면 IF 구문은 다음과 같이 변경됩니다: IF [/I] 문자열1 비교연산자 문자열2 명령 사용할 수 있는 비교 연산자는 다음과 같습니다: EQU - 같음 대/소문자를 구분하려면 /I 스위치를 사용하십시오. CMDEXTVERSION 조건은 명령 확장과 관련된 DEFINED 조건은 환경 변수가 정의되어 있는 경우, %ERRORLEVEL%에서는 ERRORLEVEL과 같은 이름을 갖는 goto answer%ERRORLEVEL% 또한 위의 숫자 비교를 사용할 수 있습니다. IF %ERRORLEVEL% LEQ 1 goto okay CMDCMDLINE과 같은 이름을 갖는 환경 변수가 정의되지 않은 경우, %CMDEXTVERSION%에서는 CMDEXTVERSION과 같은 C:\> |
난 설명은 잘 못한다. 그래서 예문으로 위 도움말을 대신할련다. 귀차니즘 ㅋㅋ
C:\>set aaa=0
C:\>echo ERRORLEVEL result : %ERRORLEVEL%
ERRORLEVEL result : 0
C:\>if errorlevel 0 (echo yes) else (echo no)
yes
C:\>if errorlevel 1 (echo yes) else (echo no)
no
C:\>if TEST==test (echo yes) else (echo no)
no
C:\>if TEST==TEST (echo yes) else (echo no)
yes
C:\>if exist "windows" (echo yes) else (echo no)
yes
C:\>if defined abc (echo yes) else (echo no)
no
C:\>set abc='ABC'
C:\>if defined abc (echo yes) else (echo no)
yes
C:\>if %abc% EQU 'ABC' (echo yes) else (echo no)
yes
C:\>if %abc% EQU 'abc' (echo yes) else (echo no)
no
** /i 옵션은 도움말과는 다르게 대소문자를 가리지 않을때 사용한다.
C:\>if /i %abc% EQU 'abc' (echo yes) else (echo no)
yes
** CmdExtVersion 명령확장 여부를 알수 있는 기능이다.
C:\>echo %CMDEXTVERSION%
2
C:\>if CmdExtVersion 2 ( echo 명령확장 사용가능 ) else (echo 명령확장 사용불가)
명령확장 사용가능
'윈도우팁 > 도스' 카테고리의 다른 글
텍스트파일 합치기 (0) | 2010.08.31 |
---|---|
Dos FTP transfer batch (0) | 2010.08.26 |
Dos 관련 사이트 (0) | 2010.07.13 |
Dos Command - 활용 (0) | 2010.07.07 |
Dos Command - FOR (0) | 2010.07.07 |