En la línea de comando de Windows, echo %PATH%
parece fusionar las variables del sistema y del usuario PATH
en ese orden antes de imprimir. Eso parece razonable, pero también me gustaría poder imprimir sólo la variable del sistema (o, alternativamente, sólo la variable de usuario).
Tenga en cuenta que echo
es sólo un ejemplo; esperaría que funcionara con cualquier otro comando.
Uno puede fácilmentecolocarya sea usando (o no) la /M
bandera al emitir el 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
Peroevaluando %PATH%
de esa manera no parece tan simple (ni siquiera posible). Simplemente escribiendo %PATH%
resultados en:
C:\some\system\path;D:\some\user\path
¿Sería posible recuperar solo C:\some\system\path
(o solo D:\some\user\path
)?
Soy consciente de la existencia de una interfaz GUI que permite distinguir fácilmente entre los dos. Sin embargo, me gustaría realizar esta tarea utilizando sólo la línea de comando.
Respuesta1
Siempre puedes consultar los valores del registro directamente:
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