Bewerten Sie %PATH% ausschließlich als Umgebungsvariable für den Systembereich.

Bewerten Sie %PATH% ausschließlich als Umgebungsvariable für den Systembereich.

In der Windows-Befehlszeile echo %PATH%werden die System- und Benutzervariablen PATHvor 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 echonur ein Beispiel ist. Ich würde erwarten, dass es mit jedem anderen Befehl funktioniert.

Man kann leichtSatzentweder durch Verwendung (oder Nichtverwendung) des /MFlags bei der Ausgabe des SETXBefehls:

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\pathWä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

verwandte Informationen