将 %PATH% 专门评估为系统范围环境变量

将 %PATH% 专门评估为系统范围环境变量

在 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

相关内容