Windowsのすべての実行可能ファイルの拡張子は.exeです。
これは正しくありません。DOSでは、2つの実行可能ファイル拡張子が*.COM
ありました*.EXE
。Windowsはそれらを継承したため、* .comおよび* .exeもサポートしています。* .exeは、さまざまな実行可能形式を含む単なる「コンテナ」であることに注意してください。
拡張子なしでコマンドを実行すると、Windowsは%pathext%
環境変数に拡張子を追加し、その名前の最初のファイルが見つかるまで検索します。変数のデフォルト値は次のとおりです
>echo %pathext%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
ご覧のとおり、Windowsが実行する他の実行可能ファイルの種類(拡張子なし)がありますが、それらのほとんどはスクリプトであり、バイナリ実行可能ファイルではありません。
それにもかかわらず、Windows は実際にはファイル拡張子を使用してファイル形式を決定しません。で始まるファイルMZ
(MZ形式の署名)は、実行可能ファイルとして扱われます。
Windows 10には、windows-subsystem-for-linuxの導入によりLinux ELFバイナリを実行する機能もあります
Windowsのセットアップファイルは、厳密には実行可能ファイルではありませんが、多くの場合、*。msiファイルで提供されます。この形式はWindowsインストーラーによって読み取られます。