TL; DR
32 비트 콘솔 프로그램을 실행하면 cmd
; 16 비트 콘솔 프로그램을 실행하면에 의해 실행됩니다 command
.
세부
Windows XP에는 이전 16 비트 응용 프로그램을 지원하는 하위 시스템이 포함되어 있습니다.
이전 16 비트 응용 프로그램은 DOS 및 Windows 프로그램으로 사용할 수 있습니다. DOS 프로그램은 본질적으로 콘솔 응용 프로그램이며 명령 프롬프트처럼 보이는 방식으로 실행됩니다. 그러나 32 비트 Windows 콘솔 응용 프로그램은 매우 유사하며 동일하게 보입니다.
명령 프로세서 / 인터프리터 cmd
에는 여러 가지 목적이 있습니다.
- 32 비트 텍스트 Windows 콘솔 프로그램을 실행하려면
- 제공하고 다양한 명령 줄 기능을 처리하기 위해 (
dir
, copy
, 등)
- 배치 파일 (DOS 호환
.bat
파일 및 NT 호환 .cmd
파일) 해석 및 실행
이전 16 비트 콘솔 프로그램을 실행하면 NTVDM (Windows NT Virtual DOS Machine)에 의해 실행됩니다. 에뮬레이션 계층이 더 단순하다는 점을 제외하고는 전용 가상 머신 소프트웨어를 실행하는 것과 유사한 에뮬레이트 된 DOS 시스템 (따라서 가상 DOS 머신 )을 제공합니다. command
16 비트 버전의 명령 해석기 cmd.exe
는 실제 Windows 프로그램 보다 실제 DOS에 훨씬 더 가깝습니다 ( command.com
DOS MZ 헤더가있는 것과 달리 Windows PE 헤더 가 있음).
command
cmd
16 비트 프로그램 만 지원한다는 점 을 제외하고 동일한 목적을가집니다 . 또한 .cmd
파일을 지원하지 않으며 기본 제공 명령이 적으며 구문이 더 제한적입니다 ( 4DOScmd
와 유사한 새롭고 현대적인 고급 명령 줄 해석기 임).
그러나 이전 게임과 같은 그래픽 DOS 프로그램을 지원하지만, 비디오 카드 드라이버와 프로그램의 특성에 따라 성공적으로 실행됩니다. Windows에서 DOS 게임을 실행하기 위한 다양한 트릭 을 제공하는 수많은 사이트가 있습니다 (Vista 이상에서는 일반적으로 XP보다 성공이 제한적 임).
64 비트 버전의 Windows는 16 비트 프로그램에 대한 지원을 완전히 중단 했으므로 전혀 포함하지 않으므로 command
DOS 나 Windows 16 비트 프로그램이 실행되지 않고 대신 오도하는 오류 메시지가 표시됩니다. .
기술 노트
command.com
가 .com
DOS 프로그램과 이전 버전과의 호환성에 대한 확장을하지만, 외부 DOS의 다른 Windows 버전의 대부분의 명령처럼, 내부, 실제로 윈도우 PE의입니다 .exe
파일. 이것은 Windows가 확장명을 대부분의 파일 유형을 처리하는 방법의 표시 자로 사용하지만 실행 파일의 경우 확장명을 무시하고 내용을 봅니다 (그렇지 않으면 .exe
a로 처리하면 작동하지 않음) 는 흥미로운 관찰 결과를 제공합니다 .com
. 이 질문 은이 효과와 관련이 있습니다.
command.com
레거시 16 비트 버전 이라고 가정 합니다 (32 비트 설치에서만 사용 가능). 64 비트 버전의 Windows 7에는 존재하지 않습니다.