2009-10-31 8 views

Respuesta

11

Ver el command search sequence en Microsoft Technet

la ruta y PATHEXT variables ambientales cada uno proporciona un elemento de la secuencia de búsqueda: RUTA es la ordenada lista de directorios "donde" buscar, y PATHEXT es la lista ordenada de extensiones de archivos ("qué") buscar (en caso de que la extensión no se proporcione explícitamente en la línea de comandos). Sin embargo, antes de usar la RUTA, se busca en el directorio actual.

defecto

El PATHEXT variable a ".COM, .EXE, .BAT; .CMD"

+0

Acabo de invocar gvim desde el cuadro de diálogo Ejecutar, y sin importar en qué esté configurado PATHEXT, solo se ejecuta gvim.exe; incluso si digo gvim.bat en el diálogo de ejecución. – Jeenu

+1

@Jeenu, esto es bastante extraño. Sin embargo, una explicación probable es que se encuentre otra instancia de gvim (o un archivo de bat que hace referencia a ella) antes de la ubicación de PATH donde lo espera. Revise la ruta manualmente, tal como lo haría la consola. (u otra forma de probar esto es cambiar el nombre del exe temporalmente en el directorio donde crees que viene ver si la invocación del comando no falla al no encontrar el exe. – mjv

+0

Gracias por el * "en caso de que la extensión no sea explícitamente proporcionado en la línea de comando "* note, es por eso que el comando' python3.5' no puede funcionar con PATH en Windows ... – dedek

2

Creo que camina a través% PATHEXT% y trata cada uno de los

7

Resumido desde el enlace de Microsoft Technet proporcionada por MJV:

Windows paso a través de los directorios en la ruta de la izquierda a la derecha (orden de lista normal). En cada uno de estos, intenta ubicar un archivo con cada PATHEXT también de izquierda a derecha, antes de continuar con la siguiente entrada de PATH. El primer archivo que encuentra gana.

Por lo tanto, en su caso, debe cambiar PATHEXT para que .BAT aparezca antes que .EXE (o siempre encontrará .exe primero y no el archivo .bat lo más probable es que desee sobrescribirlo, si está en el mismo directorio) y también coloque la ruta de su 'invalidación' gvim.bat antes (¿más temprano?) en la lista PATH que en cualquier lugar donde pueda encontrar gvim. * (porque prueba cada PATHEXT en cada uno antes de seguir adelante PATH)

Cuestiones relacionadas