CP/M-86, MP/M, Personal CP/M-86, CP/M-86, DOS Plus, Concurrent DOS, FlexOS, Multiuser DOS, System Manager 및 REAL/32뿐만 아니라 CP/M-86, CP/M-86 및 CP/M-86에서 CMD는 CP/M 스타일의 실행 프로그램에 사용되는 파일 확장자이다. 이는 CP/M-80의 COM과 DOS의 EXE에 대응한다. 동일한 확장자는 OS/2 및 Windows의 명령 줄 해석기인 Cmd.exe에서 배치 파일용으로 사용된다.
CMD 파일은 128바이트 헤더를 가지며, 그 뒤에 1~8개의 코드 또는 데이터 그룹이 이어진다. 각 그룹은 최대 1메가바이트 크기까지 가능하다. 이후 버전의 형식에서는 CMD 파일에 재배치 정보 및 상주 시스템 확장 (RSX)이 포함될 수 있다.
헤더의 시작 부분에는 파일에 존재하는 그룹과 그 유형이 나열된다. 각 유형은 최대 한 번씩만 사용할 수 있다. 유형은 다음과 같다.
데이터 그룹의 처음 256바이트는 0이어야 한다. 이 영역은 CP/M-86에 의해 제로 페이지(DOS의 프로그램 세그먼트 접두사와 유사함)로 채워진다. 데이터 그룹이 없으면 코드 그룹의 처음 256바이트가 대신 사용된다.
OS/2 및 Windows NT에서 .CMD 파일 확장자는 명령 처리기인 Cmd.exe용 배치 스크립트와 연결되어 있다. 이진 코드는 이런 방식으로 실행되지 않기 때문에, CP/M-86 CMD 파일을 CMD 명령 처리기에서 실행하려는 시도는 작동하지 않지만, 일반적으로 사용자에게 약간의 불편을 주는 정도에 그친다. CP/M-86 및 관련 운영체제의 실행 파일 로더와 재배치기는 파일의 첫 번째 바이트를 검사할 수 있는데, 이는 CP/M CMD 파일의 첫 번째 테이블 항목의 유형 바이트에 해당하며, 이를 유효한 CP/M CMD 파일로 받아들이기 전에 1에서 9 사이의 값을 갖는지 확인한다. 10보다 작은 ASCII 값은 배치 스크립트에서 거의 사용되지 않으므로, 이 방식은 상당히 우수한 보호 기능을 제공한다.