CMD “명령프롬프트” 배치파일 명령어 모음

배치파일 명령어 9가지

1. CALL 명령어

명령프롬프트로 현재 실행중인 배치 파일을 종료하지 않고 필요한 다른 배치파일을 호출하여 실행한 다음 원래의 배치파일로 다시 돌아오려고 할 때 사용됩니다.

명령프롬프트 CMD 관리자 권한 실행방법
명령프롬프트 CMD 관리자 권한 실행방법
  • 사용방법 : Call [drive:]\[경로]\<배치파일명>[.BAT]
  • 예 : Call c:\bats\sample.bat
  • 어떤 배치 파일을 실행하는 도중에 경로 C:\bats 에 있는 sample.bat 파일을 실행한 다음 다시 원래의 배치파일로 돌아옵니다.

2. CHOICE 명령어

배치 프로그램 내에서 사용자의 선택을 묻기 위해 사용됩니다. 배치 파일 제작자가 설정한 물음을 출력하면서 지정된 키 입력을 기다립니다.

이 명령프롬프트는 배치파일 내에서만 사용 가능합니다.

  • 사용방법 :choice [/C[:]문자열][/N][/S][/T[:]기본키,대기시간][메세지]
  • 옵션 종류
    • /C[:]문자열 : 사용자가 선택할 수 있는 키목록을 [] 괄호 내에 ‘, ‘ 로 구분하여 출력하고 /C 스위치를 사용하지 않으면 기본적으로 YN이 사용됩니다.
    • /N : 프롬프트를 출력하지 않도록 합니다.
    • /S : 사용자의 입력에서 소문자, 대문자를 구분하도록 합니다.
    • /T[:]기본키, 대기시간 : 기본키를 지정한 후 대기시간 동안 사용자의 키 입력이 없으면 자동적으로 기본키가 입력된 것으로 간주하고 진행됩니다.
  • 지정 가능한 대기시간은 초단위이며 0에서 99 사이의 값입니다.
  • 메세지 : 화면에 출력될 메세지를 지정합니다.
  • 예 : choice /c:abCD /s /t : C, 5 다음중에서 하나를 선택하십시오
  • a, b, C, D ◇ 설명 : 입력 가능한 키를 a,b,C,D로 한정하며 사용자로부터 입력되는 영문자의 대,소문자를 구분하며 만약 5초 내에 사용자로부터 키 입력이 없다면 C 가 입력된 것으로 간주합니다.
  • 화면에는 ‘다음중에서 하나를 선택하십시오 a, b, C, D[a,b,C,D]? ‘ 라는 메세지가 출력됩니다.

3. ECHO 명령어

배치파일 실행중에 명령어를 화면에 표시할 것인지의 여부를 설정하며, 그 상태를 표시합니다. 한편 ECHO 명령 뒤에 오는 메세지는 화면에 나타납니다.

  • 사용방법 : echo [on/off] [문자열]
  • 옵션 종류
    • on : 배치 파일 실행중에 그 배치 파일 내의 명령어를 화면에 표시합니다.
    • off : 배치 파일 실행중에 명령어를 화면에 출력하지 않도록 합니다.
    • 문자열 : 화면에 출력하고 싶은 메세지를 적어줍니다.
    • 없음 : 현재 ECHO 설정 상태를 표시합니다.
    • 예 : echo off ☞ 현재 실행중인 배치 파일 내의 명령어를 화면에 나타나지 않도록 함.

4. FOR 명령어

지정된 집합 중의 각각의 요소에 대하여 명령으로 설정한 처리를 반복 실행합니다.

  • 사용방법
    • For %%<변수> IN (<집합>) DO <명령> [<옵션>] ☞ 배치파일용. For %<변수> IN (<집합>) DO <명령> <옵션>]
  • 옵션종류
    •  %%<변수>, &<변수> : 변수로 사용되는 것은 임의의 영문자로 1자만 허용됩니다.

주의할 점은 배치파일에서 사용할 경우는 반드시 %%처럼 두개를 연달아 사용해야 하며, 일반 도스 프롬프트에서 사용할 때는 % 하나만 사용합니다.

  • <집합> : %%<변수>에 대입하고 싶은 값을, 또는 스페이스로 구분하여 대입하고 싶은 순서대로 나열합니다.
  • <명령> : %%<변수>에 대입되어 있는 값에대해 반복적으로 실행하고 싶은 명령을 지정합니다.
  • <옵션> : 지정한 명령의 옵션이나 FOR 명령에서 지정한 옵션을 설정합니다.

예시
for %%f in (bak tmp $$$) do del *.%%f /p ☞ 배치파일의 경우 for %d in (read,wh,file) do hlist %d*.*

설명 : 첫 번째는 bak, tmp, $$$ 를 순서대로 %%f 환경 변수에 대입하여 차례대로 DEL *.bak /p, DEL *.tmp /p, DEL *.$$$ .p 를 실행한 것과 동일한 결과를 얻습니다.

두번째는 READ,WH,FILE 를 순서대로 %d 환경변수에 대입하여 차례대로 HLIST READ*.*, HLIS TWH *.* , HLIST FILE *.* 를 실행한 것과 동일한 결과를 얻게 됩니다.

5. GOTO 명령어

배치 처리의 흐름을 <레이블>에서 정의되어 있는 위치로 옮깁니다.

사용방법 :Goto <레이블>

예 : goto loop :loop 각종 처리할 내용

  • 설명 : 레이블 loop 로 배치 처리의 제어권을 이동시켜 loop 항목에 지정된 각종 처리할 내용을 실행시킵니다.
  • 참고 : 배치 파일에 레이블 표시는 레이블명 앞에 콜론(:) 을 붙여주며 줄을 바꿔 맨 앞에 지정해 주어야 합니다.

6. IF 명령어

지정한 조건의 판단 결과에 따라서 배치 처리를 진행합니다.

  • 사용법 : If [NOT] <조건> <명령>
  • 옵션
    • NOT : 지정한 조건의 반대 조건일 때만 실행합니다.
  • 조건
    • ERRORLEVEL <수치> : 바로 전에 실행한 명령(프로그램)의 종료 코드가 <수치> 이상일 때에는 참이 되고 <명령> 이 실행됨.
    • <문자열1> == <문자열2> : <문자열1> 과 <문자열2> 가 같을 때에만 참이되고 <명령>이 실행됩니다.

주의할 점은 문자열의 대,소문자가 구별되며, 문자열중에 구분기호(콤마,스페이스,세미콜론,등호,탭)가 포함되어 있으면 않됩니다.

EXIST <파일명> : <파일명>으로 지정한 파일(경로포함)이 존재할 때에만 참이 되고 <명령>이 실행됩니다. <파일명>에는 와일드카드 문자의 사용이 가능합니다.
예 : if errorlevel 2 goto quit if not %1 ==%2 goto process if exist d:\work\temp.$$$ del d:\work\temp.$$$

  • 설명 : 직전에 실행한 명령의 종료 코드가 2 이상일 경우 레이블 QUIT로 이동합니다.
  • 환경변수 %1과 환경변수 %2에 대입되어 있는 문자열이 같지 않을 경우에만 레이블 PROCESS 로 이동합니다.
  • 경로 D:\Work 에 temp.$$$ 라는 파일이 존재하면 그 파일을 삭제합니다.
CMD 명령프롬포트 배치파일 명령어 모음
명령프롬프트 배치파일 명령어

7. PAUSE 명령어

배치 파일 실행을 일시 정지합니다.

사용방법 :Pause [문자열]

  • 옵션
    • 문자열 : 문자열을 생략하면 ‘press any key to continue…’라는 메세지가 화면에 출력됩니다.
    • 만약 PAUSE 명령 뒤에 어떤 메세지를 지정하여 그 메시지를 출력하고 싶다면 ‘Echo On’ 명령을 우선 내려야 합니다.
  • 예 : echo on pause 준비가 되었으면 아무키나 누흡니다.
    • 설명 : 배치 처리 중 pause 명령을 만났을때 임의의 다른 메시지를 화면에 출력하고 싶다면
    • 예 에서와 같이 반드시 echo on 명령이 선행되어야 하며 예의 경우에는 ‘ 준비가 되었으면 아무키나 누르세요…’ 라는 메세지가 출력됩니다.

참고 : 위 처럼 하면 화면에 Pause 라는 명령어까지 같이 출력되므로 이런경우 echo on echo 준비가 되었으면 아무키나 누르세요… pause > Null
이런식으로 사용하면 출력하고자 하는 메세지만 화면에 출력됩니다.

8. REM 명령어

배치 파일 내에 주석문을 부여하고 싶을 때 사용합니다.

사용방법 :rem [문자열]

옵션

  • 문자열 : 주석문으로 쓰고 싶은 것을 적어줍니다.
  • 예 : REM 이 배치파일은 샘플입니다.
  • 배치파일내의 적당한 위치에 적절한 주석문을 붙여두면 배치 처리의 흐름을 일목요연하게 볼 수 있습니다.

9. SHIFT 명령어

  • 배치 파일에 주어진 파라미터(%1~%9)와 실행시에 지정되는 값과의 대응을 하나씩 뒤로 이동하여 표시합니다
  • 예 : :loop if “%1″ == ” ” goto end echo %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 shift goto loop :end
  • 위와 같이 배치 파일을 작성해두고 다음과 같이 배치파일을 실행해 보면 shift 명령이 어떤 역할을 하는지 금방 알 수 있습니다..
  • C:\bats> test.bat A B C D E F G H I J 0 1 2 3 4 5 ☜똑같이 입력하고 실행후 확인

이상 명령프롬프트 배치파일 명령어에 대해 알아보았습니다.

CMD 명령프롬프트 참고

You may also like...

3 Responses

  1. 2022년 5월 17일

    […] 명령을 해석하는 일을 담담한 명령어 해석기로서  내부명령어는 “명령프롬프트” 상태에서 명령을 입력하면 바로 […]

  2. 2022년 6월 20일

    […] 기존 윈도우10 이하에서 사용되던 CMD & 명령프롬프트 그리고 윈도우 파워쉘과 같은 MS-DOS에서 터미널이라는 이름으로 […]

  3. 2022년 6월 21일

    […] 기존에 사용하던 CMD 명령프롬프트 및 윈도우파워쉘이 아닌 새롭게 출시한 윈도우 터미널이 자동으로 […]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

노랗 목차