Die PATH- und Umgebungsvariablen von Windows 7 sind beschädigt

97

Ich habe keine Ahnung, aber in letzter Zeit habe ich dieses Problem gehabt. Nachdem ich meine Workstation gestartet habe, zerstört plötzlich etwas PATH und viele Dinge funktionieren nicht mehr. Ursprünglich waren in meinem Pfad VIELE Verzeichnisse aufgeführt (ich verwende Windows 7 als Entwicklungsbox), und nach einiger Zeit waren nur noch 3-4 Verzeichnisse in meinem Pfad aufgeführt.

Ich kann nicht einmal das Dialogfeld Systemeigenschaften öffnen, in dem Umgebungsvariablen angezeigt werden (da Shell-Variablen zum Starten verwendet werden und dies nicht funktioniert). Kurz gesagt, ich starte jedes Mal neu.

Irgendwelche Ideen, was dieses Problem verursachen könnte? Ich habe in letzter Zeit nichts Neues / Ungewöhnliches gelaufen. Nur VmWare (aber ich habe es in der Vergangenheit benutzt und hatte dieses Problem damals nicht).

Ich habe gerade geprüft, auch %WINDIR%nicht definiert. WTF ?!

Pavel P
quelle
2
Ich habe vor kurzem das gleiche Problem auf meiner 64-Bit-Vista-Box gehabt. Wenn ich eine neue Eingabeaufforderung öffne, wird die Pfadvariable ohne offensichtliche Ursache auf den Teil des Pfads festgelegt, der in "Benutzervariablen" definiert ist. Der Teil "Systemvariablen" des Pfads fehlt. Einige, aber nicht alle Systemvariablen sind undefiniert. Die Registrierung sieht in Ordnung aus und im Dialogfeld "Systemeigenschaften" sieht alles in Ordnung aus (mit "c: \ windows \ system32 \ systempropertiesadvanced.exe"). Nach dem Neustart funktioniert das System normal. Das Problem tritt alle paar Tage erneut auf. Ein vollständiger Virenscan hat nichts gefunden.
Lee
Ich hatte das gleiche problem Ich fand ein paar verschiedene Dinge, die es auslösten (bestimmte Programme ausführen, Installationsprogramme ausführen usw.), aber keinen Grund, warum diese es verursachen würden (auf anderen Computern oder in einer VM funktionieren sie einwandfrei). Schließlich hatte ich andere Probleme, die die Notwendigkeit einer Neuinstallation verschärften was alles repariert.
Jim McKeeth
4
Mein Weg war zu lang. Ich habe Duplikate entfernt, nutzlose Einträge entfernt und das Problem ist behoben.
Pavel P

Antworten:

127

Aus meinem Blog

Fazit: Wenn Ihre PATH-Umgebungsvariable mehr als 2048 Zeichen umfasst, werden sie (und WINDIR) in vielen Kontexten nicht mehr angezeigt.

Ich habe es behoben, indem ich c: \ windows \ system32 \ systempropertiesadvanced.exe manuell ausgeführt und einen Eintrag aus meinem PATH gelöscht habe, um mich unter 2048 Zeichen zu setzen. Neue cmd-Fenster funktionieren einwandfrei.

Update: Diese ähnliche Frage gibt an, dass 2047 das Maximum ist, und erläutert die Erweiterungsregeln

Rabe
quelle
2
Ich habe das Problem nur durch einen Neustart des Computers behoben ... Das ist wirklich eine blöde Grenze von Windows!
Edwin Yip
3
Bin gerade auf dieses Problem gestoßen. Was für ein Witz. Danke
SwimBikeRun
3
Wie bereits erwähnt, starten Sie explorer.exe nach dem Korrigieren Ihres PFADS im Task-Manager neu, wenn Sie keinen Neustart durchführen möchten. Bitte stellen Sie sicher, dass Sie den Task-Manager NICHT starten, indem Sie mit der rechten Maustaste auf die Taskleiste klicken! Dadurch wird der Task-Manager mit dem aufgebockten Pfad (und damit Ihrem neuen Prozess explorer.exe) initialisiert. Starten Sie es mit Strg + Umschalt + Escape
C. Tewalt
1
Danke dafür. Ich habe den letzten Monat damit gekämpft, als ein Sony-Produkt meinen Pfad um etwa 200 Zeichen vergrößerte.
Michael Dorgan
1
Was ich zusätzlich zu dem, was Raven vorschlug, getan habe: Ersetzen Sie allgemeine Basisverzeichnisse wie c:\program files (86)in der Pfadvariablen durch andere Variablen, wie zum Beispiel, PRGX86die auf das Verzeichnis der Programmdateien verweisen. Auf diese Weise können Sie einige zusätzliche Zeichen speichern.
01.04.16
23

Die Beschränkung auf 2048 Zeichen ist real. Ich habe den Pfad in zwei separate Variablen aufgeteilt und die zweite Variable in die PATH-Variable eingefügt:

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

So musste ich keine PATH-Verzeichnisse löschen, sondern bekam die PATH-Variable unter 2048 Zeichen.

Darth Vader
quelle
2
ok, das ist ziemlich genial
Kenwarner
1
Sehr clever, aber Apps, die PATH-Einträge dynamisch hinzufügen, werden wahrscheinlich auf dem vollständig erweiterten Pfad ausgeführt und werden immer noch verrückt. Aber zumindest wird der Schmerz auf diesen Prozess beschränkt sein.
Raven
Vielen Dank für diese großartige Idee, die unter Win7 leider nicht funktioniert hat: Die Variable "extpath" - oder in Ihrem Fall "pathextended" - wurde nicht analysiert .....
unknown6656
2
Diese Lösung funktionierte in Win 7 nicht. Der Inhalt der beiden Variablen wurde verkettet, aber alle Zeichen nach dem 2048. (?) Wurden von der resultierenden kombinierten PATH-Variablen abgeschnitten. Also ich hatte Einträge von PATH in dem Ende zu entfernen, da pro @Raven, um meine Symbole zu erhalten und %windir%, etc zurück zu kommen.
Snark
12

Eine Problemumgehung für alle, die versuchen, dieses Problem zu beheben, entweder aufgrund von Übermaß pathoder aus einem anderen Grund: Starten Sie einfach den Explorer neu. Die neue Shell nimmt eine neue Umgebung auf. Dadurch wird die Beschädigung vorerst behoben, ohne dass ein Neustart erforderlich ist, auch wenn Sie die zugrunde liegende Ursache noch nicht identifiziert und dauerhaft behoben haben.

1.

Bildbeschreibung hier eingeben

2.

Bildbeschreibung hier eingeben

3.

Bildbeschreibung hier eingeben

BEARBEITEN: Update für neuere Versionen von Windows.

Der Task-Manager erledigt dies jetzt in einem Schritt:

Bildbeschreibung hier eingeben

Reg Edit
quelle
Dies gibt keine Antwort auf die Frage. Wenn Sie einen Autor kritisieren oder um Klarstellung bitten möchten, hinterlassen Sie einen Kommentar unter seinem Beitrag. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Wenn Sie über eine ausreichende Reputation verfügen, können Sie jeden Beitrag kommentieren .
Michael K
Mit Respekt bin ich anderer Meinung. Die Frage ist Windows 7's PATH and environment variables are corrupted,. Meine Antwort bietet eine Möglichkeit, diese Beschädigung zu entfernen. Dies ist eine relevante Antwort, sowohl für sich selbst als auch in Verbindung mit anderen Fixes, nach denen andernfalls ein Neustart erforderlich wäre.
Reg Edit
Ich würde vorschlagen, Ravens Antwort zu bearbeiten und deinen Teil hinzuzufügen. Die meisten Leute lesen nur die akzeptierte Antwort und wenn ich richtig verstehe, ist Ihre Antwort meistens eine Ergänzung dazu.
Michael K
Ah ich sehe. Nein, es ist relevant für jede Lösung, die versucht wird. Ich habe meine Antwort überarbeitet, um das klarer zu machen.
Reg Edit
1
Dies war wahrscheinlich eher als Kommentar als als Antwort zu werten. Anstatt neu zu starten, sollte er die Task explorer.exe beenden und explorer.exe neu starten. Ihre Antwort behebt einen Teil seines Problems - diesen Teil "Ich kann nicht einmal das Dialogfeld Systemeigenschaften öffnen, in dem ich Umgebungsvariablen sehen kann (weil es Shell-Variablen verwendet, um es zu starten, und es funktioniert nicht). Kurz gesagt, ich starte jeden neu Zeit." Da er jedoch nach einem Neustart ein Pfadproblem hat, würde dies sein Problem nicht mehr beheben als durch einen Neustart.
Barlop
3

Sie sollten ein Programm zum Überwachen der Registrierungsschlüssel erhalten

Benutzervariablen

HKCU\Environment

und

Maschinenvariablen

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

Sie könnten den Moment einfangen, in dem sie zerstört werden, und ihn eingrenzen.

auch mal wie lange es dauert..nach dem booten. Wenn Sie zumindest wissen können, wann es passieren wird, hilft dies, die Dinge einzugrenzen.

Probieren Sie auch den abgesicherten Modus aus. Wenn es prozessbezogen ist, überprüfen Sie die Ereignisanzeige.

barlop
quelle