在Windows的命令列中,似乎在列印之前按順序echo %PATH%
合併系統變數和使用者變數。PATH
這看起來很合理,但我也希望能夠僅列印系統變數(或僅列印使用者變數)。
請注意,這echo
只是一個範例,我希望它可以與任何其他命令一起使用。
一個人可以輕鬆放/M
在發出命令時使用(或不使用)該標誌SETX
:
SETX PATH "D:\some\user\path"
^ sets the user variable PATH
SETX PATH "C:\some\system\path" /M
^ sets the system-wide variable PATH
但評估 %PATH%
以這種方式似乎並不簡單(甚至不可能)。只需輸入%PATH%
結果即可:
C:\some\system\path;D:\some\user\path
是否可以僅檢索C:\some\system\path
(或僅檢索D:\some\user\path
)?
我知道 GUI 介面的存在可以讓人們輕鬆區分兩者。但是,我想僅使用命令列來完成此任務。
答案1
您始終可以直接查詢註冊表值:
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