CP/M
CCPに内蔵されているコマンドをビルトインコマンド (built-in command) といい、次のようなものがある。
ファイルを削除すると、ディレクトリエントリの先頭バイトがE5Hになる。
このE5Hという値は、当時フロッピーを物理フォーマットする際に書き込まれた値に由来する。つまり、物理フォーマット後に論理フォーマットする必要がないように設計されている。ただし、MS-DOSの場合はFATやブートセクタを書き込む必要があるため、別途論理フォーマットが必須である。
一方で、以下のような相違点(改善点)もある。
CP/Mでファイルを削除するERA (ERASE) コマンドに相当するMS-DOSのコマンドは、DEL (DELETE) である。ただしERASEという別名も使用可能。
CP/MのDIRコマンドは、MS-DOSのDIR/Wに相当する出力形式しかない。ファイルの詳細を知るにはSTATコマンドを使う。
CP/MのRENコマンドは「REN 新ファイル名 = 旧ファイル名」と書き、さらにMS-DOSのそれとは引数の順序が逆である。
CP/MではファイルのコピーはトランジェントコマンドのPIPを必要としたが、MS-DOSでは内部コマンドのCOPYで行える。引数の順序もRENコマンドと同様に逆になる。
CP/Mでは前述したようなフロッピー入れ替えにまつわる問題があるが、MS-DOSではそのようなことはない。
CP/Mではバッチファイル(.SUB)の実行にはトランジェントコマンドのSUBMITを必要としたが、MS-DOSではCOMMAND.COM自身がバッチファイル実行機能を持っている。
CP/MではCCPなどのOS構成要素はディスク上の専用領域に格納されるが、MS-DOSではCOMMAND.COMについては通常のファイルと同様の方法で格納されるようになった。
CP/MのディスクI/Oの基本単位は128バイトであり、ファイルサイズも128バイト単位である。これは、標準メディアが8インチ単密度フロッピー(セクタサイズ128バイト)だったことによる。一方、MS-DOSのディスクI/Oは128/256/512/1024バイトなどの単位で行え、ファイルサイズもバイト単位でとることができる。
CP/Mのファイルシステムではファイルの配置情報がディレクトリと一体化しており、大きなファイルがあるとディレクトリエントリをいくつも消費するという問題があったが、MS-DOSではFATとして独立している。
また、マイクロソフトがCP/M向けに出していたソフトでは、コマンドラインのスイッチはスラッシュで始まっており(例: M80 =FOO.MAC /R)、PC DOS/MS-DOS 1.xではこれがOS標準の書式として受け継がれた。 そのため、PC DOS/MS-DOS 2.xで階層ディレクトリを導入する際に、UNIXのようにパス名の区切りにスラッシュを使うことができず、バックスラッシュを使うことになった。 しかし、ASCIIのバックスラッシュはISO 646各国版で置き換えが認められており、たとえば日本のJIS X 0201では円記号になっているため、日本のPCではパス名の区切りが円記号で表示されることになった。
なお、これはコマンドラインに限った話であり、MS-DOSのシステムコールやWindows APIにパス名を渡す場合には、コマンドラインスイッチと混同するおそれがないため、区切りとしてスラッシュもバックスラッシュも受け付ける。