%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)を取得することは可能でしょうか?

これら 2 つを簡単に区別できる 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

関連情報