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
?
나는 둘을 쉽게 구별할 수 있는 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