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?
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.
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.
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
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