PATH de Windows 7 y las variables de entorno están dañadas

97

No tengo idea, pero últimamente he tenido este problema. Después de ejecutar mi estación de trabajo, de repente algo destruye la RUTA y muchas cosas dejan de funcionar. Inicialmente, mi ruta tenía MUCHOS directorios listados (uso Windows 7 como cuadro de desarrollo) y después de un tiempo, solo tenía 3-4 directorios listados en mi ruta a la izquierda.

Ni siquiera puedo abrir el cuadro de diálogo Propiedades del sistema donde puedo ver las variables de entorno (porque usa variables de shell para iniciarlo y no funciona). En resumen, reinicio cada vez.

¿Alguna idea de lo que podría causar ese problema? No ejecuté nada nuevo / inusual últimamente. Solo VmWare (pero lo he estado usando en el pasado y no tuve ese problema en ese entonces).

Acabo de comprobar, incluso %WINDIR%no está definido. WTF ?!

Pavel P
fuente
2
Recientemente tuve el mismo problema en mi caja Vista de 64 bits. Sin una causa obvia, si abro un nuevo símbolo del sistema, la variable de ruta se establece en la parte de la ruta definida en "Variables de usuario". Falta la parte "Variables del sistema" de la ruta. Algunas, pero no todas las variables del sistema están indefinidas. El registro se ve bien, y todo se ve bien en el cuadro de diálogo Propiedades del sistema (usando "c: \ windows \ system32 \ systempropertiesadvanced.exe"). Después de reiniciar, el sistema funciona normalmente. El problema vuelve a ocurrir cada pocos días. Un análisis completo de virus no encontró nada.
Lee
Yo tuve el mismo problema. Encontré algunas cosas diferentes que lo desencadenaron (ejecutar ciertos programas, ejecutar instaladores, etc.) pero no hay razón para que lo causen (funcionan bien en otras máquinas o en una VM). Eventualmente tuve otros problemas que agravaron la necesidad de reinstalar que arregló todo
Jim McKeeth
44
mi camino era demasiado largo Eliminé duplicados, eliminé entradas inútiles y el problema desapareció.
Pavel P

Respuestas:

127

De mi blog

En pocas palabras, si la variable de entorno PATH tiene más de 2048 caracteres, (y WINDIR) dejarán de ser visibles en muchos contextos.

Lo arreglé ejecutando manualmente c: \ windows \ system32 \ systempropertiesadvanced.exe y eliminando una entrada de mi RUTA para ponerme en 2048 caracteres. Las nuevas ventanas cmd funcionan bien.

Actualización: esta pregunta similar afirma que 2047 es el máximo y elabora sobre reglas de expansión

Cuervo
fuente
2
Acabo de solucionar el problema reiniciando la computadora ... ¡Ese es realmente un límite estúpido de Windows!
Edwin Yip
3
Acabo de encontrarme con este problema. Que broma. Gracias
SwimBikeRun
3
Como otros mencionaron, después de arreglar su RUTA, simplemente reinicie explorer.exe en el administrador de tareas si no desea reiniciar. ¡Asegúrese de NO iniciar el administrador de tareas haciendo clic derecho en la barra de tareas! Al hacerlo, se inicializará el administrador de tareas con la ruta aumentada (y, por lo tanto, su nuevo proceso explorer.exe).
Lánzalo
1
Gracias por esto. Estuve luchando contra esto durante el último mes más o menos cuando un producto Sony aumentó mi camino en alrededor de 200 caracteres.
Michael Dorgan
1
Lo que hice además de lo que propuso Raven: reemplazar los directorios base comunes como c:\program files (86)en la variable de ruta con otras variables como, por ejemplo, PRGX86apuntar al directorio de archivos de programa. De esa manera puede guardar algunos caracteres adicionales.
ovm
23

La limitación de 2048 caracteres es real. Lo que hice fue dividir la ruta en dos variables separadas e incluir la segunda variable en la variable PATH:

PATH=C:\;%PATHEXTENDED%
PATHEXTENDED=E:\

Así no tuve que eliminar ningún directorio PATH, pero obtuve la variable PATH con menos de 2048 caracteres.

Darth Vader
fuente
2
ok eso es bastante genio
kenwarner
1
Muy inteligente, pero las aplicaciones que agregan dinámicamente entradas PATH probablemente estarán operando en la ruta completamente expandida y aún se volverán locas. Pero al menos el dolor estará limitado a ese proceso.
Cuervo
Gracias por esta gran idea, pero desafortunadamente no funcionó con Win7: la variable "extpath" - o en su caso "pathextended" - no se analizó .....
desconocido6656
2
Esta solución no funcionó para mí en Win 7. El contenido de las 2 variables se concatenó, pero cualquier carácter posterior a la 2048 (?) Se truncó de la variable PATH combinada resultante. Así que tuve que eliminar las entradas de PATH al final, según @Raven, para obtener mis iconos y %windir%, etc., volver.
snark
12

Una solución alternativa para cualquiera que intente resolver este problema, ya sea por exceso patho por cualquier otra razón: simplemente reinicie Explorer. El nuevo shell recoge un nuevo entorno. Esto corrige la corrupción por el momento, sin tener que reiniciar, incluso si aún no ha podido identificar y resolver permanentemente la causa subyacente.

1)

ingrese la descripción de la imagen aquí

2)

ingrese la descripción de la imagen aquí

3)

ingrese la descripción de la imagen aquí

EDITAR: actualización para nuevas versiones de Windows.

El Administrador de tareas ahora lo hace en un solo paso:

ingrese la descripción de la imagen aquí

Reg Editar
fuente
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación; siempre puede comentar sus propias publicaciones, y una vez que tenga suficiente reputación podrá comentar cualquier publicación .
Michael K
Con respeto, no estoy de acuerdo. La pregunta es, Windows 7's PATH and environment variables are corrupted. Mi respuesta proporciona una forma de eliminar esa corrupción. Esta es una respuesta relevante tanto por derecho propio como en conjunción con otras soluciones, luego de lo cual sería necesario reiniciar.
Reg Editar
Sugeriría editar la respuesta de Ravens y agregarle su parte. La mayoría de las personas solo leerán la respuesta aceptada y si entiendo correctamente, su respuesta es principalmente una adición a eso.
Michael K
Ah, ya veo. No, es relevante para cualquier solución que se esté probando. He editado mi respuesta para aclarar eso.
Reg Editar
1
Esto probablemente valió más la pena como comentario que como respuesta. Que en lugar de reiniciar, debe finalizar la tarea explorer.exe y reiniciar explorer.exe. Su respuesta aborda parte de su problema: esta parte "Ni siquiera puedo abrir el cuadro de diálogo Propiedades del sistema donde puedo ver las variables de entorno (porque usa variables de shell para iniciarlo y no funciona). En resumen, reinicio cada hora." Pero tenga en cuenta que, dado que tiene un problema de ruta después de un reinicio, esto no solucionará su problema más de lo que tiene reiniciando.
barlop
3

deberías obtener un programa para monitorear las claves de registro

variables de usuario

HKCU\Environment

y

variables de máquina

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

podrías atrapar el momento en que se destruyen y reducirlo.

también, el tiempo que tarda ... después del arranque. si al menos puede saber cuándo sucederá, ayudará a reducir las cosas.

prueba el modo seguro también. en caso de que esté relacionado con el proceso, y verifique el visor de eventos.

barlop
fuente