Warum kann ich %USERPROFILE% in %PATH%nicht verwenden?

Auf meinem Windows 7-Computer versuche ich mit dem Tool System Properties > Environment Variables, %USERPROFILE%\Bin zur Systemvariablen PATH hinzuzufügen. Aus irgendeinem Grund funktioniert das nicht, obwohl %SystemRoot%\system32 gut funktioniert.

Wenn ich versuche, Befehle von der Konsole auszuführen, werden Dateien in meinem Ordner Bin nicht gefunden, obwohl Dateien im Ordner System32 gefunden werden.

Der einzige Unterschied zwischen UserProfile und SystemRoot, den ich sehen kann, ist, dass ersteres eine Benutzervariable ist, während die letzteres ist eine Systemvariable.

echo %USERPROFILE%\Bin ergibt c:\Users\zano, und wenn ich c:\Users\zano\Bin explizit hinzufüge, funktioniert alles einwandfrei.

Was ist das Problem hier?

Author: Zano, 2012-06-27

3 answers

Systemvariablen werden vor Benutzervariablen gesetzt. Folglich ist zum Zeitpunkt der Festlegung von Systemvariablen noch keine Ihrer Benutzervariablen vorhanden.

Möglicherweise können Sie eine neue Benutzervariable namens PATH erstellen und auf "%USERPROFILE%\Bin;%PATH% " setzen. Ich habe es nicht getestet, aber es kann tun, was Sie wollen. USERPROFILE ist jedoch möglicherweise immer noch nicht festgelegt, sodass Sie den Pfad möglicherweise fest in Ihre Benutzervariable codieren müssen, dies wirkt sich jedoch zumindest nicht auf andere Benutzer auf dem Computer aus.

 12
Author: Stephen Jennings,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-06-27 14:01:46

Stephen Jennings hatte recht, aber nur ein wenig Klarheit. Wenn in Windows der Benutzervariablenpfad vorhanden ist, wird er automatisch an den Systemvariablenpfad angehängt. Der Benutzervariablenpfad darf %UserProfile% verwenden, während die Systemvariable den wörtlichen Text "%UserProfile%"erhält.

Das Erstellen der Benutzervariablen "Path" und das Festlegen auf %UserProfile%\Bin war alles, was benötigt wurde.

Beispiel 1:

Pfad der Systemvariablen = C:\WINDOWS\ Benutzervariabler Pfad = %UserProfile%\Bin

Der Pfad des Benutzers lautet

C:\WINDOWS;C:\Users\User\Bin

Beispiel 2:

Pfad der Systemvariablen = C:\WINDOWS\;%UserProfile%\Bin

Der Pfad der Benutzervariablen ist überhaupt nicht festgelegt.

Der Pfad des Benutzers lautet

C:\WINDOWS\;%UserProfile%\Bin

Sie möchten kein Beispiel 2.

 5
Author: Rodrick Williams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-01-20 10:06:04

Ähnlich wie Stephen sagte, aber

Erstellen Sie eine Benutzerumgebungsvariable namens PATH In diesem können Sie %USERPROFILE% korrekt verwenden - USERPROFILE wird erweitert, bevor der Benutzerabschnitt verarbeitet wird. Dieser Benutzerpfad wird automatisch an den Systempfad angehängt, sodass der %PATH% - Teil nicht hinzugefügt werden muss.

Z. B.

Systemvariable: PATH=c:\path1 Benutzer variable PFAD=%USERPROFILE%\path2

Resultierender Pfad: PFAD=c:\path1;C:\Users\myuser\path2

 4
Author: Taoist,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-08-14 11:00:33