맨위로가기

Cmd.exe

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

cmd.exe는 윈도우 운영 체제의 명령 인터프리터로, COMMAND.COM과 호환성을 가지면서도 다양한 확장 기능을 제공한다. 주요 기능으로는 상세한 오류 메시지, 화살표 키를 이용한 명령 기록 스크롤, 명령 줄 완성, 이스케이프 문자 처리, 배치 처리에서의 변수 지연 확장 등이 있다. 또한, 디렉터리 이동, 파일 관리, 시스템 설정 등 다양한 작업을 수행하는 내부 명령어를 제공하며, 윈도우 탐색기와의 통합을 통해 사용 편의성을 높였다. cmd.exe는 유니코드를 지원하지만, 배치 파일은 ANSI 코드 페이지를 사용하며, PowerShell이 cmd.exe의 후속 기술로 평가받지만, cmd.exe는 여전히 윈도우 시스템에서 중요한 역할을 하고 있다.

더 읽어볼만한 페이지

  • OS/2 파일 - CONFIG.SYS
    CONFIG.SYS는 DOS 운영체제에서 장치, 응용 프로그램, 메모리 관리자 등을 구성하는 파일로, 부팅 시 시스템 드라이브에서 읽혀져 장치 드라이버 로드, 메모리 설정, 셸 프로그램 지정 등의 역할을 수행하며, 일부 버전에서는 대체 파일명을 사용하거나 시동 메뉴를 구성하는 기능도 제공한다.
  • 셸 - 파워셸
    파워셸은 마이크로소프트에서 개발한 작업 자동화 솔루션으로, 명령줄 셸과 스크립트 언어의 기능을 결합하여 윈도우 시스템 관리를 위해 설계되었으며, .NET 프레임워크 기반의 객체 지향적 특징을 갖고 다양한 플랫폼에서 자동화 스크립트 작성 및 실행, 시스템 구성 관리 등에 활용된다.
  • 셸 - COMMAND.COM
    COMMAND.COM은 MS-DOS 운영체제에서 명령줄 인터페이스를 제공하는 명령어 해석기로, 파일 관리 및 프로그램 실행 등의 작업을 수행하며, 윈도우 9x에서 MS-DOS 호환성을 위해, FreeDOS에서는 핵심 구성 요소로 사용된다.
  • OS/2 명령어 - 파일 전송 프로토콜
    파일 전송 프로토콜(FTP)은 클라이언트-서버 모델 기반으로 네트워크를 통해 파일을 전송하는 표준 통신 규약이며, 명령 연결과 데이터 연결을 사용하고, 보안 취약점 때문에 암호화된 방식 사용이 권장된다.
  • OS/2 명령어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
Cmd.exe - [IT 관련 정보]에 관한 문서
기본 정보
이름명령 프롬프트 (cmd.exe)
다른 이름윈도우 명령어 처리기 (Windows Command Processor)
개발자마이크로소프트, IBM, ReactOS 기여자
출시일1987년 12월
대체 대상COMMAND.COM
운영 체제윈도우 NT 계열
윈도우 CE
OS/2
eComStation
ArcaOS
ReactOS
플랫폼IA-32
x86-64
ARM
아이테니엄 (과거 DEC 알파, MIPS, PowerPC)
장르명령 줄 인터프리터

2. 확장

Therese Stowell이 `cmd.exe`의 첫 버전을 개발했다.[23] `cmd.exe`는 많은 내부 명령어를 가지고 있으며, OS/2 및 윈도우 NT 버전에서는 `COMMAND.COM`보다 더 자세한 오류 메시지를 제공한다. `help` 명령어를 통해 오류 메시지의 번호와 함께 추가 정보를 얻을 수 있다.[23]

`cmd.exe`는 도스 프로그램인 `COMMAND.COM`와 달리 플랫폼에 기본으로 제공되는 프로그램이므로, 명령 파이프라인에서 실제 파이프를 사용하여 파이프라인의 양쪽을 동시에 실행할 수 있다. 그 결과, `COMMAND.COM`과 달리 표준 오류를 리다이렉트할 수 있다.[23]

`cmd.exe`는 도스와 같은 명령 줄 해석기 역할을 하는 윈도우 프로그램으로, `COMMAND.COM`과 호환되지만 몇 가지 확장 기능을 제공한다.[23]

2. 1. COMMAND.COM과의 비교

`cmd.exe`는 `COMMAND.COM`과 대부분 호환되지만, 다음과 같은 확장 기능을 제공한다.[7]

  • `COMMAND.COM`의 "잘못된 명령 또는 파일 이름"과 같은 단순한 오류 메시지보다 더 자세한 오류 메시지를 제공한다.
  • 화살표 키를 사용하여 명령 기록을 스크롤하는 것을 지원한다. (DOS에서는 이 기능은 DOSKEY라는 외부 구성 요소를 통해서만 사용할 수 있었다.)
  • 파일 및 폴더 경로에 대한 회전식 명령줄 완성을 지원한다.
  • 캐럿(`^`) 문자를 이스케이프 문자로 처리한다.
  • 지연 변수 확장을 지원한다.


내부 명령어 개선사항은 다음과 같다.

  • `DELTREE` 명령은 `RD` 명령의 `/S` 스위치의 일부로 병합되었다.
  • `SETLOCAL` 및 `ENDLOCAL` 명령은 환경 변경의 범위를 제한한다.
  • `CALL` 명령은 배치 파일 내에서 서브루틴을 허용한다.
  • `SET` 명령에 대한 파일 이름 파서 확장은 C 셸과 유사하다.
  • `SET` 명령은 식 평가를 수행할 수 있다.
  • `FOR` 명령의 확장은 파일 이름 외에도 파일 및 임의 집합 구문 분석을 지원한다.
  • 새로운 `PUSHD` 및 `POPD` 명령은 웹 브라우저 또는 파일 탐색기의 "앞으로" 및 "뒤로" 버튼과 유사하게 탐색된 경로를 넘어 접근할 수 있는 기능을 제공한다.
  • 조건부 `IF` 명령은 대소문자를 구분하는 문자열 비교 외에도 대소문자를 구분하지 않는 비교 및 숫자 같음 및 다름 비교를 수행할 수 있다.

3. 명령어

cmd.exe는 파일 시스템 탐색, 파일 관리, 시스템 설정 등 다양한 작업을 수행할 수 있는 여러 내부 명령어를 제공한다. 다음은 명령어의 일부 예시이다.

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



`&&` 기호를 사용하여 여러 명령어를 한 줄에 연결할 수 있다.[7] 예를 들어, `CommandA && CommandB && CommandC`는 CommandA가 성공해야 CommandB가 실행되고, CommandB가 성공해야 CommandC가 실행되는 구조이다. 이전 명령어의 성공 여부와 관계없이 다음 명령어를 실행하려면 `&` 기호를 사용한다.[8]

윈도우 XP 이상에서 명령 프롬프트에서 사용할 수 있는 문자열의 최대 길이는 8191자이다.[9] 윈도우 2000 또는 윈도우 NT 4.0과 같은 이전 버전에서는 문자열의 최대 길이가 2047자이다.[9]

다음 특수 문자는 따옴표로 묶어야 한다:[7] & < > [ ] { } ^ = ; ! ' + , ` ~ (공백)

4. 커맨드 라인 2.0 업데이트 (윈도우 10)

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


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

5. 윈도우 탐색기와의 통합

윈도우 7 윈도우 탐색기에서는 Shift 키를 누른 채 상황 메뉴를 표시하면 "여기에 명령 창 열기"라는 메뉴 명령이 나타난다[19]。 이 명령을 실행하면, 지정 폴더를 현재 디렉터리로 설정한 상태로 명령 프롬프트를 시작할 수 있다.

윈도우 8.1에서는 시작 메뉴를 마우스 오른쪽 버튼으로 클릭하거나, 윈도우 키를 누른 채 X 키를 누르면 시스템 명령 메뉴가 표시되며, 명령 프롬프트를 일반 권한 또는 관리자 권한으로 시작할 수 있다.

윈도우 10 크리에이터스 업데이트 (버전 1703)에서는 기본 명령 셸이 PowerShell로 대체되었다. 탐색기에서 Shift 키를 누른 채 상황 메뉴를 표시하면 "여기에 PowerShell 창 열기"라는 메뉴 명령이 나타나며, 시스템 명령 메뉴에는 명령 프롬프트 대신 PowerShell이 표시된다. 하지만 설정 변경을 통해 이전과 같이 명령 프롬프트를 시스템 명령 메뉴에 표시하는 것도 가능하다[20]

6. 문자 코드

cmd.exe 자체는 유니코드(UTF-16)를 사용하지만, 배치 파일COMMAND.COM과의 호환성을 위해 시스템 로캘 설정(유니코드 비대응 프로그램의 언어)에 따른 "ANSI 코드 페이지"로 인코딩되어 해석된다.[18] 예를 들어, 한국어 시스템 로캘에서는 CP949 (EUC-KR 확장)가 사용된다.

명령 프롬프트에 내장된 '''내부 명령'''(예: `type`, `dir`)은 유니코드 출력과 ANSI 코드 페이지 출력을 모두 지원한다.[21] 단독 실행 시 화면 표시는 유니코드로, 리다이렉션이나 파이프를 이용한 출력은 ANSI 코드 페이지로 변환되어 출력된다.

'''외부 명령'''의 출력 문자 코드는 해당 외부 명령의 구현에 따라 다르며, 일반적으로 명령 개발자는 CLI 명령의 출력을 유니코드 모드로 수행할지, MBCS 모드로 수행할지를 선택할 수 있다.

7. 후속 및 미래

cmd.exe의 후속 기술은 .NET Framework/.NET Core를 기반으로 하는 객체 지향 언어인 PowerShell이다. PowerShell은 Windows 명령에 비해 높은 유연성과 기술성을 제공한다. 몇몇 Windows 명령에 대해서는 호환 별칭이 제공되는 등 어느 정도의 호환성을 가지고 있지만, 완전한 상위 호환은 아니며 명령 프롬프트와는 여전히 공존 관계에 있다. 마이크로소프트(Microsoft)는 cmd.exe 폐지 소문에 대해 전면 부인하며, Windows 자체를 빌드 및 테스트하기 위해 자동화된 시스템에서 cmd.exe에 의존하는 다수의 스크립트가 이용되고 있다는 점 등을 들어 향후 Windows에서 제거될 일은 없을 것이라고 밝혔다.[18]

참조

[1] 웹사이트 Notes on using the default OS/2 command processor (CMD.EXE) http://www.tavi.co.u[...]
[2] 웹사이트 Command Processor Shell (Windows CE .NET 4.2) https://docs.microso[...] 2006-06-30
[3] 웹사이트 Command Processor Shell (Windows CE 5.0) https://docs.microso[...] 2012-09-14
[4] 웹사이트 Command Processor Shell (Windows Embedded CE 6.0) https://docs.microso[...] 2012
[5] 서적 Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft https://archive.org/[...] The Free Press 1994
[6] 서적 Programming Microsoft Windows CE Microsoft Press
[7] 웹사이트 cmd https://docs.microso[...] 2023-09-12
[8] 웹사이트 Command Redirection, Pipes - Windows CMD - SS64.com https://ss64.com/nt/[...] 2021-09-23
[9] 문서 Command prompt (Cmd.exe) command-line string limitation https://support.micr[...]
[10] 서적 Microsoft Operating System/2 User's Reference http://www.os2museum[...] Microsoft 1987
[11] 서적 Windows NT Shell Scripting https://archive.org/[...] Macmillan Technical Publishing 1998
[12] 웹사이트 Command Processor Commands (Windows CE .NET 4.2) https://docs.microso[...] 2006-06-30
[13] 웹사이트 Command Processor Commands (Windows CE 5.0) https://docs.microso[...] 2012-09-14
[14] 웹사이트 Command Processor Commands (Windows Embedded CE 6.0) https://docs.microso[...] 2012-01-05
[15] 웹사이트 reactos/reactos https://github.com/r[...] 2021-12-04
[16] 문서 cmd.exeの実行ファイルのプロパティにおける「説明」欄は、英語版では「Windows Command Processor」、日本語版では「Windows コマンド プロセッサ」となっている。
[17] 웹사이트 [速報]マイクロソフト、BashシェルをWindowsに搭載。Emacs、VT100などサポート。Build 2016 https://www.publicke[...] 2020-01-21
[18] 문서 Rumors of Cmd’s death have been greatly exaggerated | Windows Command Line https://devblogs.mic[...]
[19] 문서 Windowsスマートチューニング(72) Win 7編: <コマンドウィンドウをここで開く>を常に表示し、コマンドプロンプトを簡単起動する | マイナビニュース https://news.mynavi.[...]
[20] 문서 コマンド プロンプトは PowerShell に置き換えられます https://support.micr[...]
[21] 문서 Cmd | Microsoft Docs https://docs.microso[...]
[22] 문서 _setmode | Microsoft Docs https://docs.microso[...]
[23] 서적 Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft https://archive.org/[...]
[24] 뉴스 MS, 윈도우10에 커맨드라인 2.0 투입 http://www.zdnet.co.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com