Windows (예 : 버전 10)에서는 다음 명령을 사용하여 환경 변수를 나열 할 수 있습니다.
set
모든 사용자에 대해 동일한 환경 변수 또는 현재 사용자 또는 세션에 대한 환경 변수 만 어떻게 나열합니까?
Windows (예 : 버전 10)에서는 다음 명령을 사용하여 환경 변수를 나열 할 수 있습니다.
set
모든 사용자에 대해 동일한 환경 변수 또는 현재 사용자 또는 세션에 대한 환경 변수 만 어떻게 나열합니까?
답변:
상황이 때때로 Microsoft보다 약간 더 복잡합니다.
많은 환경 변수가 레지스트리에 저장됩니다. 즉, reg
명령을 사용하여 쿼리 할 수 있습니다.
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
reg query HKCU\Environment
reg query "HKCU\Volatile Environment"
setx variable value
명령을 사용하여 고유 한 환경 변수를 영구적으로 설정하면 해당 변수 는 레지스트리에 저장되지만 즉시 사용할 수는 없습니다.
C:\>setx test removeme
SUCCESS: Specified value was saved.
C:\>reg query "HKCU\Environment"
HKEY_CURRENT_USER\Environment
Path REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
TEMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
TMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
test REG_SZ removeme
set variable=value
명령 을 사용하면 변수를 즉시 사용할 수 있지만 레지스트리에는 저장되지 않습니다. reg
로 표시되어 있지만 명령을 사용하여 나열 할 수는 없습니다 set
. 이러한 임시 환경 변수는 명령 프롬프트 세션을 종료 한 후에도 지속되지 않습니다.
이러한 방식으로 레지스트리에 저장되지 않은 환경 변수처럼 작동하는 구문이 있습니다. 예를 들면 다음과 같습니다.
echo %TIME%
refreshenv.cmd
10 줄의 코드를 가진 유틸리티가 있으며 기본적으로 레지스트리 항목을 쿼리하고 새로 고침
SET
명령에 동적 환경 변수가 표시 됩니까 ? 세션 중에 Microsoft의 빌드 도구가 설정 한 모든 것을 찾으려고 노력하고 있습니다.
추가 라인과 공백이없는 깨끗한 출력을 위해 다음 명령을 사용하십시오 cmd.exe
.
사용자 환경 변수 :
FOR /F "tokens=1,3* skip=2" %G IN ('reg query HKCU\Environment') DO @echo %G=%H %I
글로벌 (시스템) 환경 변수 :
FOR /F "tokens=1,3* skip=2" %G IN ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"') DO @echo %G=%H %I
Windows 7-10에서 작동하며 대부분 이전 버전에서도 작동합니다.
VS140COMNTOOLS REG_SZ C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools
나타납니다 VS140COMNTOOLS=C:\Program
.
setx test removeme
를 들어set test %test%
모든 변수를 간단한set
? 요청시 모든 것을 명시 적으로 만들기 위해 명령 / 배치 스크립트를 구현하는 것이 가능하다고 생각했습니다 ...