En Windows, ¿qué extensiones de nombre de archivo denotan un ejecutable?
¿Denotar a qué?
Sé que esa pregunta probablemente suene un poco confusa en este momento, pero la pregunta importa. Mientras explico por qué es importante, la pregunta se hará más clara.
Aunque la respuesta de Ken White de la variable PATHEXT (en el "entorno" del símbolo del sistema) es una respuesta agradable y breve, y esa respuesta puede funcionar bien para usted, la respuesta es incompleta. La razón que está incompleta es que la respuesta correcta es diferente en función de lo que está tratando de hacer.
Por ejemplo, puede intentar:
- Ejecute un programa desde un "símbolo del sistema tradicional" ("CMD"), escribiendo su nombre de archivo completo
- Ejecute un programa desde un "símbolo del sistema tradicional" ("CMD"), escribiendo el nombre de archivo base, pero dejando de lado su extensión
- Utilice el comando "inicio" integrado en el "símbolo del sistema tradicional" ("CMD")
- Ejecute un programa desde PowerShell
- Ejecute un programa desde el elemento de menú "Ejecutar", que se encuentra en el menú de inicio
- Ejecute un programa desde el Explorador, intentando hacer doble clic en un icono relacionado con un archivo que termina con la extensión
- Dile a Microsoft Internet Explorer que abra un archivo descargado
- Ejecute un programa utilizando una función de la API de Microsoft Windows. (Esto es algo que los usuarios finales no suelen hacer, pero los programadores informáticos pueden hacer esto, por lo que la información es relevante para ellos).
Algunos de estos métodos para ejecutar programas pueden usar diferentes métodos para determinar qué extensiones de nombre de archivo pueden ser compatibles. En particular, el uso de CMD puede ser diferente al menú Ejecutar.
Por ejemplo, el desconcertante blog de Wes: Personalizando el comando Ejecutar de Windows ... observa diferentes ubicaciones que se verifican, incluida la clave de registro.
La respuesta también puede depender de qué versión de Microsoft Windows se esté utilizando. En Windows 10, simplemente escribí el nombre de un archivo zip en el símbolo del sistema, y se abrió el Explorador de Windows. Me parece recordar que no funciona en Windows XP (aunque en Windows XP, podría escribir "start filename.zip" y obtener el mismo tipo de efecto). Entonces, mi memoria está defectuosa o Microsoft ha estado tratando de hacer mejoras en las versiones más nuevas de Windows. (Con suerte, para mí, este último).
En el símbolo del sistema tradicional de Windows 10 (ejecutando "CMD"), cuando voy a la ubicación (usando el comando "CD") de un archivo zip y escribo "filename.zip", se abrirá el archivo. Cuando voy a esa ubicación y escribo "nombre de archivo" (sin la extensión de archivo ".zip"), Windows no encuentra el archivo. Sin embargo, si ejecuto " ECHO %PATHEXT%
" y luego " SET PATHEXT=%PATHEXT%;.ZIP
" (y luego " ECHO %PATHEXT%
" nuevamente, para asegurarme de que tuve el efecto deseado), entonces puedo escribir "nombre de archivo" y el símbolo del sistema encontrará el archivo .ZIP. Entonces, ese es el efecto de la variable% PATHEXT%.
Es posible que pueda ver otra lista de extensiones ejecutando el ASSOC
comando. Por ejemplo, ejecutar ese comando muestra varias líneas de salida, incluidas las siguientes (en mi sistema) - " .zip=CompressedFolder
". Entonces, puedo ver lo que se ejecuta al escribir " FTYPE | FIND /I "CompressedFolder"
". (Eso está destinado a la línea de comando tradicional. A PowerShell no le gustarán esas comillas sin escape FTYPE
).
Si escribo " ASSOC | FIND /C "."
", en mi computadora con Windows 10, entonces encuentro que tengo 339 líneas de salida cuando compruebo las asociaciones de archivos de esa manera.
MS KB 162059 se trata de ajustar cómo Internet Explorer abre los documentos de Office.
Por lo tanto, pedir la lista de ejecutables predeterminados es demasiado vago. Los diferentes componentes de Microsoft Windows pueden usar diferentes recursos, por lo que la pregunta debe ser más específica para obtener una respuesta precisa.
La pregunta mencionó el uso de Explorer para hacer doble clic en un icono. Para ver la lista de ejecutables utilizados por eso, creo que querrás consultar el registro. Puede ejecutar esto desde un símbolo del sistema:
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
(No voy a enumerarlos aquí. Hay 286 de ellos en mi computadora con Windows 10).
Eso enumera las extensiones. Para ver más información, incluidos detalles sobre las extensiones:
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts /s
Entonces, como puede ver ahora, esta pregunta aparentemente inocente en realidad puede ser un tema bastante complejo. Creo que he defendido por qué una pregunta debe ser bastante específica para poder obtener una respuesta completa que aborde totalmente cómo un solo componente de Windows puede determinar las extensiones de nombre de archivo. En pocas palabras, no hay una sola respuesta para Windows, ya que Windows tiene múltiples componentes que se comportan de diferentes maneras. Espero haber comenzado a mostrar eso y señalar algunos recursos adicionales que muestran información relevante.