Na linha de comando do Windows, echo %PATH%
parece mesclar as variáveis do sistema e do usuário PATH
nesta 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).
Observe que echo
é apenas um exemplo, espero que funcione com qualquer outro comando.
Pode-se facilmentedefinirusando (ou não) o /M
sinalizador ao emitir o SETX
comando:
SETX PATH "D:\some\user\path"
^ sets the user variable PATH
SETX PATH "C:\some\system\path" /M
^ sets the system-wide variable PATH
Masavaliando %PATH%
dessa maneira não parece tão simples (ou mesmo possível). Basta digitar os %PATH%
resultados 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, gostaria de realizar esta tarefa usando apenas a linha de comando.
Responder1
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