명령 프롬프트(실행 파일이름: cmd.exe)는 OS/2, 윈도우 임베디드 컴팩트 그리고 윈도우 NT 5.0 이상 기반 시스템의 명령어 인터프리터이다. MS-DOS와 윈도우 9x 시스템의 COMMAND.COM 또는 유닉스 시스템에서 쓰이던 셸의 아날로그 형태이다.
확장
Therese Stowell은 cmd.exe의 첫 버전을 개발했다.[1] 일부 도스 명령어들이 지원되지 않거나 바뀌었음에도 불구하고 (예: 내용이 존재하는 디렉터리를 지우는 명령어 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는 떨어진 호환성을 위해 윈도우 파워셸을 사용하여 보충할 수 있다.
명령 프롬프트의 명령어 종류
- 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 정보를 표시한다.