cada archivo ejecutable en Windows tiene la extensión .exe
Esto no es correcto. En DOS había 2 extensiones de archivo ejecutables: *.COMy *.EXE. Windows los heredó, por lo que también admite * .com y * .exe . Tenga en cuenta que * .exe es solo el "contenedor" que contiene varios formatos ejecutables
Si ejecuta un comando sin una extensión, Windows agregará las extensiones en la %pathext%variable de entorno y buscará hasta que encuentre el primer archivo con ese nombre. El valor predeterminado de la variable es así
>echo %pathext%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Como puede ver, hay otros tipos de archivos ejecutables que Windows ejecutará (sin una extensión), pero la mayoría de ellos son scripts y no ejecutables binarios .
Sin embargo, Windows no usa la extensión de archivo para determinar el formato del archivo. Cualquier archivo que comience conMZ (que es la firma del formato MZ) se tratará como un archivo ejecutable .
Windows 10 también tiene la capacidad de ejecutar binarios ELF de Linux con la introducción de windows-subsystem-for-linux
Los archivos de instalación en Windows también se proporcionan a menudo en archivos * .msi cuyo formato es leído por Windows Installer , aunque estrictamente hablando no es un archivo ejecutable