Sistema versus RUTA de usuario variable ambiental win winmerge funciona solo si agrego la ruta de acceso a la RUTA de usuario


Si agrego C:\Program Files (x86)\WinMerge a la variable User PATH (haciendo clic derecho en computer -> advanced system settings -> environmental variables), una vez que abro un nuevo shell cmd WinmergeU.exe no se reconoce. Si añado 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 establezco en el Sistema todos los usuarios lo verán, mientras que el Usuario PATH es local. Estoy haciendo algo mal?

EDITAR 1:

A continuación se puede ver primero el caso en el que C:\Program Files (x86)\WinMerge se agrega a la variable System PATH (pero no al Usuario), luego cuando se agrega a la variable User PATH (pero no al 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é la variable ambiental windows antes de tomar estas capturas de pantalla, y abrí un nuevo cmd justo después de cambiar la RUTA y 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 ya que podría no ser que he publicado dos preguntas diferentes.

SISTEMA

USUARIO

Author: Community, 2014-01-22

3 answers

Usted debe estar recibiendo algo mal, o tener problemas ambientales con su máquina. Agregar una variable de entorno user PATH resulta en que se fusiona con el entorno de un nuevo proceso.

Actualización: Tal vez este comentario del tema MSDN sobre variables de entorno podría ser pertinente:

Descubrió que en Windows Server 2003, una vez que la ruta del sistema pasa 1920 caracteres, la variable de entorno user PATH ya no se combina con establezca la variable de entorno process PATH, aunque la RUTA completa del sistema (incluso si es más grande) se incluya en la variable process PATH.

 42
Author: David Heffernan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-07 14:06:01

En Windows 7, también asegúrese de que la ruta del sistema no termine con una barra invertida. Si lo hace, la RUTA del USUARIO se anexa a la ruta del sistema como de costumbre, pero después de un salto de línea, que rompe las cosas. En este último caso, el comando simple "path" y "echo %PATH%" imprimirán 2 salidas diferentes.

 0
Author: coredump,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-23 15:32:43

Para la versión 16.6, he confirmado que este problema también es un problema de longitud de ruta. En un mensaje de cmd, escribiendo 'set', puede ver todo el env. variable. No se incluyeron las variables de cadencia de ruta de usuario y otras. Guardé el texto original completo de la ruta, luego revisé y recorté elementos de ruta específicos (del sistema) que se consideraron innecesarios. después de esto, en una nueva sesión de cmd, escribir ' set ' ahora muestra los elementos de la ruta de acceso del usuario insertados al final de los elementos de la ruta de acceso del sistema, porque ahora encajar.

 -1
Author: krspahr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-26 21:23:47