In der Windows-Befehlszeile echo %PATH%
werden die System- und Benutzervariablen PATH
vor dem Drucken in dieser Reihenfolge zusammengeführt. Das erscheint sinnvoll, aber ich möchte auch nur die Systemvariable (oder alternativ nur die Benutzervariable) drucken können.
Beachten Sie, dass dies echo
nur ein Beispiel ist. Ich würde erwarten, dass es mit jedem anderen Befehl funktioniert.
Man kann leichtSatzentweder durch Verwendung (oder Nichtverwendung) des /M
Flags bei der Ausgabe des SETX
Befehls:
SETX PATH "D:\some\user\path"
^ sets the user variable PATH
SETX PATH "C:\some\system\path" /M
^ sets the system-wide variable PATH
AberAuswerten %PATH%
auf diese Weise scheint nicht so einfach (oder gar möglich). Das einfache Eintippen %PATH%
ergibt:
C:\some\system\path;D:\some\user\path
C:\some\system\path
Wäre es möglich, nur (oder nur ) abzurufen D:\some\user\path
?
Mir ist bewusst, dass es eine GUI-Schnittstelle gibt, mit der man leicht zwischen beiden unterscheiden kann. Ich möchte diese Aufgabe jedoch nur über die Befehlszeile erledigen.
Antwort1
Sie können die Registrierungswerte jederzeit direkt abfragen:
for /f "skip=2 tokens=2*" %a in ('reg query HKCU\Environment /v PATH') do @echo %b
for /f "skip=2 tokens=2*" %a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH') do @echo %b