¿Cómo encuentra Windows la ruta para los ejecutables como iexplore.exe?

0

Si escribo iexplore en la ventana de ejecución, ejecuta Internet Explorer. Supongo que eso significa que C: \ Archivos de programa \ Internet Explorer está en mi variable de entorno de ruta, pero no lo está. Revisé mis variables de usuario y las variables de mi sistema. Entonces, ¿cómo sabe Windows dónde buscar este tipo de cosas?

Supongo que debería mencionar que estoy usando Windows 8.1 en este momento.

Kyle Delaney
fuente
Estoy adivinando a través de las Variables ambientales% SystemRoot% y% SystemRoo% \ system32
DukeSilversJazz
2
Intenté ejecutar "iexplorer.exe" desde un indicador de PowerShell, me dijeron que era un comando incorrecto, intenté ejecutar "notepad.exe" y el programa se ejecutó. Luego cambié al directorio y ejecuté "iexplorer.exe" y ejecuté el programa. Por lo tanto, en realidad está en la variable de ruta del usuario.
Ramhound
2
También ejecuté "iexplorer.exe" desde el comando de ejecución y me dijeron que el comando también era inválido. Por lo tanto, ha cambiado su variable de ruta de la predeterminada (o mi variable de ruta de usuario es diferente) en cualquier caso, la ruta ES en la variable, de lo contrario obtendría el error. Luego proporciono una ruta al ejecutable y, como se esperaba, se inició el programa.
Ramhound
1
¿No es así iexplore.exe? Esa sería la razón por la que regresa como un comando no válido.
Darren
% SystemRoot% se refiere a C: \ Windows, ¿verdad? Revisé allí, y C: \ Windows \ System32, y no vi iexplore en ningún lado.
Kyle Delaney el

Respuestas:

3

La computadora ha utilizado el registro de aplicaciones con este programa. Para ver una lista de dichos archivos ejecutables, consulte HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths

p.ej:

reg QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"

Eso muestra los ejecutables. Para mostrar más información sobre entonces, use:

reg QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths" /s

En realidad, esa es solo una de las ubicaciones que se comprueban en busca de archivos ejecutables. La página de MSDN en el registro de la aplicación tiene una sección llamada "Encontrar una aplicación ejecutable", que menciona esto, así como algunas otras ubicaciones que pueden ser utilizadas por la función "ShellExecuteEx". Algunos códigos de programación utilizan esa función, incluido el cuadro de diálogo Ejecutar, pero puede que no sea lo que usa el símbolo del sistema tradicional, por eso es posible que obtenga resultados diferentes para un comando específico (según el lugar donde intenta ejecutar) el comando de).

TOOGAM
fuente
0

No puede ejecutar Internet Explorer desde la línea de comandos o PowerShell como otros programas, porque su ejecutable no está bajo C:\Windows\System32. La variable hace %SystemRoot%referencia a la ruta C:\Windows\System32, y es donde las cosas como Ejecutar y Powershell ejecutan programas de forma predeterminada porque sus rutas comienzan allí a menos que se especifique lo contrario. Los execuables de Internet Explorers se encuentran en:

C:\Program Files\Internet Explorer\iexplore.exe

para 64 bits

y

C:\Program Files (x86)\Internet Explorer\iexplore.exe

para 32 bits

Puede ejecutar Internet Explorer con los caminos anteriores o poner éstos en un archivo por lotes:

%SystemRoot%\explorer.exe "C:\Program Files\Internet Explorer\iexplore.exe"

y:

%SystemRoot%\explorer.exe "C:\Program Files(x86)\Internet Explorer\iexplore.exe"

Espero que esto ayude.

Señor mendelli
fuente
Creo que me habrás entendido mal. No digo que no pueda hacer que Internet Explorer se ejecute desde el diálogo de ejecución. Estoy diciendo que puedo. Y estoy preguntando por qué es así, ya que no se encuentra en% SystemRoot% como dijiste. También es extraño que pueda ejecutarlo desde el diálogo de ejecución pero no desde la línea de comandos.
Kyle Delaney
Inténtalo tú mismo. Presione Win + R y escriba iexplore.
Kyle Delaney
Lo intenté, pero no parece funcionar. Puede funcionar de manera diferente en Windows 10. En cuanto a la ejecución de programas directamente desde la ejecución, creo que puede haber una lista de programas predefinidos que se pueden ejecutar de esta manera. Probablemente esté basado en el registro.
Sr. Mendelli