Variables de ruta "heredadas" en Windows

1

En Windows 7 he agregado dos variables de entorno de usuario:

M2_HOME   %PROGRAMFILES%\Apache\apache-maven-3.0.2
M2        %M2_HOME%\bin

En mi cabeza, ambos deberían funcionar, sin embargo, solo el primero lo hace por alguna razón. Lo que quiero decir es que en un símbolo del sistema puedo escribir

cd %M2_HOME%

Lo que funciona bien, pero

cd %M2%

Lo cual no. ¿Que está pasando aqui?

Svish
fuente
Reiniciar el sistema.
Synetech

Respuestas:

2

Parece que hay un error con las variables de entorno anidadas en Windows 7 (tal vez otras versiones también, no estoy seguro) donde si el nombre de la variable de nivel superior viene antes del nombre de la variable anidada alfabéticamente, no se expandirá .

En su caso, la variable de nivel superior M2aparece antes de la variable anidada M2_HOMEcuando se ordena alfabéticamente. Si cambia M2a algo que viene después M2_HOME(por ejemplo, M3), verá que funciona según lo previsto.

Herohtar
fuente
Ahora eso es molesto ... Supongo que esa también es la razón por la que no funciona agregar% M2% a la ruta también. ¿Alguna forma de especificar el orden de estas variables de entorno?
Svish
La única forma de solucionar el problema es hacer lo que dije y cambiarle el nombre M2a algo como M3o incluso algo así M2_PATHfuncionaría, siempre que sea algo que viene después M2_HOMEen comparación alfabéticamente. Alternativamente, puede editar M2_HOMEe ingresar manualmente el directorio de archivos de programa en lugar de usarlo %PROGRAMFILES%, ya que el error solo parece ocurrir cuando tiene anidamiento de más de dos niveles.
Herohtar