Ich habe einen Windows 7-Computer, der, wenn die Eingabeaufforderung von einem normalen Benutzer ausgeführt wird, die Umgebungsvariablen in der nicht erweitert %PATH%
. Wenn die Eingabeaufforderung stattdessen als Administrator ausgeführt wird (Rechtsklick, Als Administrator ausführen ), %PATH%
wird sie entsprechend erweitert.
Insbesondere %PATH%
für die cmd.exe
Ausführung als Benutzer (angezeigt über set path
) gilt Folgendes:
Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\
... während %PATH%
für die cmd.exe
Ausführung als Administrator wie folgt lautet:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\
Ich habe versucht, mich als neuer Benutzer anzumelden, um ein neues Profil zu erstellen, und das Problem besteht auch in diesem Profil weiterhin. HKEY_CURRENT_USER\Environment\PATH
existiert nicht und HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path
stimmt mit dem definierten systemweiten Pfad unter Computereigenschaften -> Umgebungsvariablen überein.
Hat jemand eine Idee, was das sein könnte oder wo ich suchen kann?
quelle
REG_SZ
das Problem einstelle, tritt ein Problem auf, wenn ichREG_EXPAND_SZ
sie zurücksetze.Beim Versuch, Maven zu konfigurieren, bin ich auf dasselbe Problem gestoßen ...
Ich habe diesen Beitrag auf Superuser gefunden , der etwas Licht in das Problem gebracht hat, aber er hat bei mir nicht funktioniert. Das Problem schien die Erhöhung von Rechten zu sein, da eine Admin-Shell funktionieren würde, eine Benutzer-Shell jedoch nicht. Ich habe mich schließlich entschlossen, die Benutzervariablen stattdessen einfach als Systemvariablen neu zu erstellen und sie dem globalen Pfad hinzuzufügen.
Dies funktionierte für ein paar Variablen, aber ich hatte ein Paar, das sich immer noch nicht erweitern ließ. Ich habe sie ein paar Mal mit neuen Namen neu erstellt, ohne Erfolg. Die Variablen wurden jedoch in der Benutzer-Shell endgültig korrekt erweitert, nachdem ich die Benutzerkontensteuerung deaktiviert, neu gestartet, die Benutzerkontensteuerung wieder aktiviert und erneut gestartet habe.
quelle
Ich hatte ein sehr ähnliches Problem - die einfache Lösung bestand darin, nach dem Alias in der Pfaddefinition ein Semikolon einzufügen .
Lange Geschichte:
Ich verwende
node.js
also einen NODE_HOME- Alias, der über eine Benutzerumgebungsvariable definiert ist. Ich hänge diesen Alias dann an meine Umgebungsvariable PATH an .Was ich finde ist, dass nach einem Neustart die Shell den Pfad zu NODE_HOME verloren hat, so dass
npm
usw. nicht funktioniert. Was ist los?Bei der Inspektion sehe ich, dass NODE_HOME gesetzt ist, aber auf magische Weise ein Semikolon erhalten hat.
PATH endet jetzt mit der Literalzeichenfolge% NODE_HOME% anstelle des erweiterten Pfads zum Knotenordner :
Etwas reparieren:
Löschen Sie zunächst das fehlerhafte Semikolon am Ende der Definition von NODE_HOME .
Zweitens fügen Sie in der Definition von PATH nach dem Symbol NODE_HOME ein Semikolon hinzu :
Wenn ich jetzt eine neue Shell starte und PATH erweitere , findet sie NODE_HOME :
Und
npm
funktioniert wieder!quelle
PROBLEM : Mein Problem war nur sinilar, da ich Sie richtig verstehe. Mein "Pfad" enthielt ...;% ANT_HOME% \ bin; ... Ich hatte die Variable ANT_HOME unter Systemvariablen (nicht Benutzervariablen) korrekt eingestellt, und CMD -> SET wie "echo% ANT_HOME%" druckte sie korrekt aus .
LÖSUNG : Ich habe das Problem gelöst, indem ich den Ordner von c: \ dev \ 3rd \ ant ... nach c: ** Programmdateien (x86) ** \ dev \ 3rd \ ant ... verschoben habe.
quelle