Cmd.exe

**명령 프롬프트**(실행 파일이름: `'''cmd.exe'''`)는 OS/2, 윈도우 임베디드 컴팩트 그리고 윈도우 NT 5.0 이상 기반 시스템의 명령어 인터프리터이다. MS-DOS와 윈도우 9x 시스템의 `[[COMMAND.COM]]` 또는 유닉스 시스템에서 쓰이던 셸의 아날로그 형태이다.

## 확장
Therese Stowell은 `cmd.exe`의 첫 버전을 개발했다. 일부 도스 명령어들이 지원되지 않거나 바뀌었음에도 불구하고 (예: 내용이 존재하는 디렉터리를 지우는 명령어 `deltree.exe`의 기능이 RD의 /S 매개 변수로 대체), `cmd.exe`는 수많은 내부 명령어들을 많이 가지고 있다.

OS/2와 윈도우 NT 버전의 `cmd.exe` 둘 다 `command.com`의 "명령 또는 파일 이름이 틀립니다(Bad command or file name)" 보다 더 자세한 오류 메시지를 제공한다. OS/2 버전의 `cmd.exe`에서는 오류가 현재의 시스템 언어가 무엇이든지 간에 보고된다. **help** 명령어는 오류 메시지의 번호와 함께 제공하여 더 자세한 정보를 얻을 수 있다.

도스 프로그램인 `COMMAND.COM`와 달리 `cmd.exe`는 플랫폼에 기본으로 제공되는 프로그램이다. 도스 프로그램들에는 쓸 수 없으나 네이티브 프로그램들이 플랫폼에서 사용할 수 있는 장점을 허락한다. 예를 들어, `cmd.exe`는 OS/2에서 네이티브 텍스트 모드 응용 프로그램이기 때문에 명령 파이프 줄에서 실제 파이프를 사용할 수 있고, 이로써 파이프라인의 두 면이 동시에 실행될 수 있다. 그 결과, `cmd.exe`의 표준 오류를 `COMMAND.COM`과 달리 리다이렉트할 수 있다. (`COMMAND.COM`은 임시 파일을 사용하며 두 면을 직렬로 사용한다.)

기술적으로, `cmd.exe`는 도스와 같은 명령 줄 해석기 역할을 하는 윈도우 프로그램이다. 일반적으로 호환되지만, `COMMAND.COM`에는 없었던 제한이 있는 확장을 제공한다:
* `SETLOCAL`/`ENDLOCAL` 명령어들은 환경에 변화의 제약을 받는다
* 내부 `CALL` 및 `GOTO` 레이블은 배치 파일이 작업의 일부를 수행할 필요를 줄여 준다.
* `SET` 명령어에 대한 파일 이름을 나누는 확장은 C 셸과 호환된다.
* 표현 평가 확장은 또한 `SET` 명령어에서 제공된다.
이 확장들은 사용하지 않을 수도 있고, 강력한 호환성 모드를 제공하기도 한다.

윈도우 비스타와 윈도우 서버 2008의 일부로 남겨진 `cmd.exe`는 떨어진 호환성을 위해 윈도우 파워셸을 사용하여 보충할 수 있다.

## 명령어
* *cd*(디렉터리 이동 명령어)등으로 explorer.exe 없이 파일들을 탐색할 수 있다.
* **color**등의 명령어로 간단히 프롬프트 디자인을 바꿀 수 있다.
* 로 화면을 최대화할 수 있다. (윈도우 XP 이하와 윈도우 10에서 가능)

### 명령 프롬프트의 명령어 종류
#ASSOC          파일 확장명 연결을 보여주거나 수정한다.
#ATTRIB         파일 속성을 표시하거나 바꾼다.
#BREAK          확장된 CTRL+C 검사를 설정하거나 지운다.
#BCDBOOT        시동 구성 데이터를 관리한다.
#BCDEDIT        부팅 로딩을 제어하기 위해 부팅 데이터베이스에서 속성을 설정한다.
#CACLS          파일의 액세스 컨트롤 목록(ACL)을 표시하거나 수정한다.
#CALL           한 일괄 프로그램에서 다른 일괄 프로그램을 호출한다.
#CD(CHDIR)      현재 디렉터리 이름을 보여주거나 바꾼다.
#CHCP           활성화된 코드 페이지의 번호를 표시하거나 설정한다.
#CHKDSK         디스크를 검사하고 상태 보고서를 표시한다.
#CHKNTFS        부팅하는 동안 디스크 확인을 화면에 표시하거나 변경한다.
#CLS            화면을 지운다.
#CMD            Windows 명령 인터프리터의 새 인스턴스를 시작한다.
#COLOR          콘솔의 기본색과 배경색을 설정한다.
#COMP           두 개 또는 여러 개의 파일을 비교한다.
#COMPACT        NTFS 분할 영역에 있는 파일의 압축을 표시하거나 변경한다.
#CONVERT        FAT 볼륨을 NTFS로 변환한다. 현재 드라이브는 변환할 수 없다.
#COPY           하나 이상의 파일을 다른 위치로 복사한다.
#DATE           날짜를 보여주거나 설정한다.
#DEL(ERASE)     하나 이상의 파일을 지운다.
#DIR            디렉터리에 있는 파일과 하위 디렉터리 목록을 보여준다.
#DISKPART       디스크 파티션 속성을 표시하거나 구성한다.
#DOSKEY         명령줄을 편집하고, Windows 명령을 다시 호출하고, 매크로를 만든다.
#DRIVERQUERY    현재 장치 드라이버 상태와 속성을 표시한다.
#ECHO           메시지를 표시하거나 ECHO를 켜거나 끈다.
#ENDLOCAL       배치 파일에서 환경 변경의 지역화를 끝낸다.
#EXIT           CMD.EXE 프로그램(명령 인터프리터)을 종료한다.
#FC             두 파일 또는 파일 집합을 비교하여 다른 점을 표시한다.
#FIND           파일이나 출력에서 텍스트 문자열을 검색한다.
#FINDSTR        파일이나 출력에서 문자열을 검색한다. FIND와 달리 간단한 정규식을 지원한다.
#FOR            파일 집합의 각 파일에 대해 지정된 명령을 실행한다.
#FORMAT         Windows에서 사용할 디스크를 포맷한다.
#FSUTIL         파일 시스템 속성을 표시하거나 구성한다.
#FTYPE          파일 확장명 연결에 사용되는 파일 형식을 표시하거나 수정한다.
#GOTO           Windows 명령 인터프리터가 일괄 프로그램에서 이름표가 붙여진 줄로 이동한다.
#GPRESULT       컴퓨터 또는 사용자에 대한 그룹 정책 정보를 표시한다.
#GRAFTABL       Windows가 그래픽 모드에서 확장 문자 세트를 표시할 수 있게 한다.
#HELP           Windows 명령에 대한 도움말 정보를 제공한다.
#ICACLS         파일과 디렉터리에 대한 ACL을 표시, 수정, 백업 또는 복원한다.
#IF             일괄 프로그램에서 조건 처리를 수행한다.
#LABEL          디스크의 볼륨 이름을 만들거나, 바꾸거나, 지운다.
#MD(MKDIR)      디렉터리를 만든다.
#MKLINK         바로 가기 링크와 하드 링크를 만든다.
#MODE           시스템 장치를 구성한다.
#MORE           출력을 한번에 한 화면씩 표시한다.
#MOVE           하나 이상의 파일을 한 디렉터리에서 다른 디렉터리로 이동한다.
#OPENFILES      파일 공유에서 원격 사용자에 의해 열린 파일을 표시한다.
#PATH           실행 파일의 찾기 경로를 표시하거나 설정한다.
#PAUSE          배치 파일의 처리를 일시 중단하고 메시지를 표시한다.
#POPD           PUSHD에 의해 저장된 현재 디렉터리의 이전 값을 복원한다.
#PRINT          텍스트 파일을 인쇄한다.
#PROMPT         Windows 명령 프롬프트를 변경한다.
#PUSHD          현재 디렉터리를 저장한 다음 변경한다.
#RD(RMDIR)      디렉터리를 제거한다.
#RECOVER        불량이거나 결함이 있는 디스크에서 읽을 수 있는 정보를 복구한다.
#REM            배치 파일 또는 CONFIG.SYS에 주석을 기록한다.
#REN(RENAME)    파일 이름을 바꾼다.
#REPLACE        파일을 바꾼다.
#ROBOCOPY       파일과 디렉터리 트리를 복사할 수 있는 고급 유틸리티이다.
#SET            Windows 환경 변수를 표시, 설정 또는 제거한다.
#SETLOCAL       배치 파일에서 환경 변경의 지역화를 시작한다.
#SC             서비스(백그라운드 프로세스)를 표시하거나 구성한다.
#SCHTASKS       컴퓨터에서 실행할 명령과 프로그램을 예약한다.
#SHIFT          배치 파일에서 바꿀 수 있는 매개 변수의 위치를 바꾼다.
#SHUTDOWN       컴퓨터의 로컬 또는 원격 종료를 허용한다.
#SORT           입력을 정렬한다.
#START          지정한 프로그램이나 명령을 실행할 별도의 창을 시작한다.
#SUBST          경로를 드라이브 문자에 연결한다.
#SYSTEMINFO     컴퓨터별 속성과 구성을 표시한다.
#TASKLIST       서비스를 포함하여 현재 실행 중인 모든 작업을 표시한다.
#TASKKILL       실행 중인 프로세스나 응용 프로그램을 중단한다.
#TIME           시스템 시간을 표시하거나 설정한다.
#TITLE          CMD.EXE 세션에 대한 창 제목을 설정한다.
#TREE           드라이브 또는 경로의 디렉터리 구조를 그래픽으로 표시한다.
#TYPE           텍스트 파일의 내용을 표시한다.
#VER            Windows 버전을 표시한다.
#VERIFY         파일이 디스크에 올바로 기록되었는지 검증할지 여부를 지정한다.
#VOL            디스크 볼륨 레이블과 일련 번호를 표시한다.
#XCOPY          파일과 디렉터리 트리를 복사한다.
#WMIC           대화형 명령 셸 내의 WMI 정보를 표시한다.

## 커맨드 라인 2.0 업데이트
윈도우 10부터 명령 프롬프트의 커맨드 라인 버전이 업데이트되었다. 명령 프롬프트의 속성에서 '레거시 콘솔 사용'을 해제하면 사용할 수 있는 기능들이 추가되었다.

### 추가된 기능
* 투명도 설정
* 키의 일반적인 사용 설정
*  사용 허용됨(Windows 7에서는 실행되지 않았다. 도 작동되지 않는다. Windows 10은 도 잘 작동한다(OS 단축키로 등록).)

## 같이 보기

* 셸
* 도스박스
* COMMAND.COM
* 윈도우 파워셸

## 각주

분류:윈도우 구성 요소
분류:윈도우 명령어
분류:OS/2 명령어
분류:셸
분류:OS/2 파일