윈도우 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') -> 삭제

댓글
댓글 쓰기