windows - Variable de entorno del sistema versus el PATH del usuario... winmerge solo funciona si agrego la ruta al PATH del usuario
environment-variables (3)
Si agrego C:/Program Files (x86)/WinMerge
a la variable PATH
del usuario (haciendo clic derecho en la computadora -> configuración avanzada del sistema -> variables de entorno), una vez que abro un nuevo shell cmd no se reconoce WinmergeU.exe. Si agrego esa ruta a la variable System PATH
, WinmergeU.exe se reconoce correctamente en su lugar. Pensé que no había diferencia entre Usuario y Sistema, aparte del hecho de que si lo configuro en Sistema, todos los usuarios lo verán, mientras que la PATH
del usuario es local. ¿Estoy haciendo algo mal?
EDIT 1:
A continuación, puede ver primero el caso en que C:/Program Files (x86)/WinMerge
se agrega a la variable System PATH
(pero no al usuario), luego cuando se agrega a la variable PATH
del usuario (pero no a el sistema). En el primer caso, la ventana de Winmerge se inicia correctamente (no se muestra) y, como puede ver, la ruta se muestra con el comando echo% PATH%. En el segundo caso, no se inicia y la ruta no se muestra con echo% PATH%. (tenga en cuenta que confirmé claramente con OK y cerré las ventanas de variables ambientales antes de tomar estas capturas de pantalla, y abrí un nuevo cmd justo después de cambiar PATH y de presionar OK). Este problema podría estar relacionado con mi pregunta aquí ( ¿echo% PATH% se expande solo al sistema o también a las variables de usuario? ) Pero como podría no ser, publiqué dos preguntas diferentes.
Debe estar cometiendo un error o tiene problemas ambientales con su máquina. Agregar una PATH
entorno PATH
usuario hace que se fusione con el entorno de un nuevo proceso.
Actualización: Quizás este comentario del tema de MSDN sobre variables de entorno pueda ser pertinente:
Descubrí que en Windows Server 2003, una vez que el sistema PATH pasa los 1920 caracteres, la variable de entorno PATH del usuario ya no se fusiona con ella para establecer la variable de entorno PATH del proceso, aunque la ruta PATH completa (incluso si es más grande) se incluirá en la variable PATH del proceso.
En Windows 7, también asegúrese de que la ruta del sistema no finalice con una barra invertida. Si lo hace, la ruta de usuario se agrega a la ruta del sistema como de costumbre, pero después de un salto de línea, lo que rompe las cosas. En este último caso, el comando simple "ruta" y "echo% PATH%" imprimirán 2 salidas diferentes.
Para 16.6, he confirmado que este problema también es un problema de longitud de ruta. En un símbolo del sistema cmd, escribiendo ''set'', puede ver todo el env. variables Las variables de cadencia de la ruta del usuario y otras no fueron incluidas. Guardé el texto de ruta completo original, luego revisé y recorté elementos de ruta específicos (sistema) que se consideraron innecesarios. después de esto, en una nueva sesión de cmd, al escribir ''set'' ahora se muestran los elementos de la ruta del usuario pegados al final de los elementos de la ruta del sistema, porque ahora encajan.