当我使用我的标准用户(也是管理员)登录时,命令echo %PATH%
将返回系统路径+用户的路径。我怎样才能获得用户的路径?
E.g。当我当前用户的路径为C:\ruby;C:\java\bin
且系统路径为%SystemRoot%\system32;%SystemRoot%
时,上面的命令会返回%SystemRoot%\system32;%SystemRoot%;C:\ruby;C:\java\bin
,但我只想拥有C:\ruby;C:\java\bin
才能添加到用户的路径永久不包括系统的路径垃圾。
我的目标是将目录附加到路径变量。我试图用命令setx PATH %PATH%;C:\ruby\bin
执行此操作,因为系统的路径而破坏了我的路径变量。
答案 0 :(得分:3)
如果变量存在,因为它不是默认,你可以使用注册表获得它。
以下是命令提示符中的一种方法:
For /F "Skip=2Tokens=1-2*" %A In ('Reg Query HKCU\Environment /V PATH 2^>Nul') Do @Echo %A=%C
答案 1 :(得分:3)
使用PowerShell的另一种方式。
(Get-ItemProperty HKCU:\Environment).PATH
或者,从cmd.exe shell。
powershell -NoProfile -Command "(Get-ItemProperty HKCU:\Environment).PATH"
为了在没有插值的情况下检索变量。
(Get-Item -Path HKCU:\Environment).GetValue('PATH', $null, 'DoNotExpandEnvironmentNames')
powershell -NoProfile -Command ^
"(Get-Item -Path HKCU:\Environment).GetValue('PATH', $null, 'DoNotExpandEnvironmentNames')"