Avalie% PATH% como a variável de ambiente do escopo do sistema exclusivamente

1

Na linha de comando do Windows, echo %PATH% parece mesclar o sistema e as variáveis de usuário PATH nessa ordem antes de imprimir. Isso parece razoável, mas eu também gostaria de poder imprimir apenas a variável do sistema (ou, alternativamente, apenas a variável do usuário). Note que echo é apenas um exemplo, eu esperaria que funcionasse com qualquer outro comando.

Pode-se facilmente definir usando (ou não) o sinalizador /M ao emitir o comando 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

Mas avaliar %PATH% dessa maneira não parece tão simples (ou até mesmo possível). Basta digitar os resultados %PATH% em:

C:\some\system\path;D:\some\user\path

Seria possível recuperar apenas C:\some\system\path (ou apenas D:\some\user\path )?

Estou ciente da existência de uma interface GUI que permite distinguir facilmente entre os dois. No entanto, eu gostaria de realizar essa tarefa usando apenas a linha de comando.

    
por rhino 04.05.2015 / 16:24

1 resposta

1

Você sempre pode consultar os valores do registro diretamente:

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
    
por 04.05.2015 / 22:29