윈도우 cmd / powershell 환경변수 설정

 환경변수의 스코프

- Machine(System) Scope : 시스템 변수
  윈도우 레지스트리(\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment)에 저장

- User Scope : 사용자변수
  윈도우 레지스트리(\HKEY_CURRENT_USER\Environment)에 저장



- Session Scope : 해당 터미널에서만 임시로 환경변수로 인식
   **** Session Scope는 등록 후 바로 조회, 사용 가능
         User Scope, Machine Scope는 새 터미널(새 프로세스) 띄워야 사용 가능


<cmd.exe>

환경변수 확인 명령어

echo %PATH%

환경변수 추가/변경

o set : Session Scope 설정

o setx : Machine Scope, User Scope 설정

setx MY_ENV_VAR "hello" -> User Scope setx MY_ENV_VAR "hello" /m -> Machine Scope


<powershell>

환경변수 확인 명령어

$Env:PATH

환경변수 추가/변경

o 변수 사용 : Session Scope 설정
  $Env:MY_ENV_VAR = "hello"
  $Env:path += ";C:\"

o set : 동작 안함

o setx : Machine Scope, User Scope 설정

setx MY_ENV_VAR "hello" -> User Scope setx MY_ENV_VAR "hello" /m -> Machine Scope

o 닷넷 패키지 사용

  [Environmet]::SetEnvironmentVariable('Foo', 'var', 'Machine') -> Machine Scope   [Environmet]::SetEnvironmentVariable('Foo', '', 'Machine') -> 삭제


댓글