オペレーティングシステム(OS)上でこのファイルを指定すると、そのプログラムが実行されるようになっている。
CP/M、MSX-DOS、古いMS-DOSにおけるCOM形式は、ファイルの先頭からいきなりプログラムのバイナリコードとなっている。
これがそのまま、オフセット0100Hからメモリにロードされ、その先頭より実行される。
極めて単純だが、CP/Mの時代はこれでも困らなかった。しかし、COMには拡張性がないため、MS-DOSでは新たにEXE形式が作られた。
EXE形式はファイルの先頭部分にヘッダがあり、OSはヘッダの部分を解釈して適切な処理を行なう。MS-DOSからWindowsになっても拡張子がEXEから変わらなかったのは、このヘッダ部分を利用してMS-DOS用の動作とWindows用の動作の二つの機能をEXEファイルに持たせることができるためである。
なお、MS-DOSやWindowsは常に実行ファイルのヘッダを確認するため、拡張子のCOMとEXEは同義である。例えばMS-DOSの頃のシェルはCOMMAND.COMだが、Windows 95以降のそれはEXE形式でありながら名前だけ「COMMAND.COM」となっている。
UNIXでは、1行目に特殊な記述をすることでシェルスクリプトやPerlなどのスクリプトを実行ファイルとして用いることができる。
例えば、シェルスクリプトの実際の例は、次の通り。
#!/bin/sh print "hello, world"
これを「hello」というファイル名で保存し、パーミッションを実行可能とする。このファイルをOSから実行させると、OSは以下のような動作を行なう。
シェルスクリプトやPerlにおいてコメントを表わす記号が#であるのは、このシェルスクリプトの動作機構と合わせるためである。