set windows environment variable permanently command line


    - 재부팅 해도 적용되도록 영구적으로 바꾸는 방법

    - SetX 명령 사용
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/cc755104(v=ws.10)

 

setx name1 val1



//-------------------------------------
    - 바뀐 환경 변수 현재 터미널 창에 바로 적용하기

    - Chocolatey (윈도우 패키지 매니저)설치

> @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

    - 환경변수 새로고침 명령
refreshenv

    - 확인
> set name1

 

//-----------------------------------------------------------------------------


//-------------------------------------
PATH 에 대해서 사용시 위험, 사용하면 안됨
    - User 변수와 System 변수가 합쳐짐

    - PATH_HKCU : User 변수
    - PATH_HKLM : System 변수


//-------------------------------------
- setx로 변수 제거는 안됨, 제거를 위해서는 reg 명령으로 레지스트리 수정


 

//-----------------------------------------------------------------------------
//-------------------------------------
    - 윈도우 환경 변수의 레지스트리 저장 경로

    - User 환경변수 경로
"HKEY_CURRENT_USER\Environment"

    - System 환경변수 경로
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"


//-------------------------------------
레지스트리 수정 명령어 참고
https://codens.info/2370


//-------------------------
    - 환경 변수 제거
> reg delete "HKCU\Environment" /v "name1"  /f


//-------------------------------------
    - PATH 에서 특정 경로 삭제 (PATH_HKCU이용)

        - PATH변수를 바로 사용하면 안됨 (사용자 변수와 시스템 변수가 합쳐짐)
> set PATH_HKCU=%PATH_HKCU:삭제할 경로;=%
> reg add "HKCU\Environment" /v "Path" /t REG_EXPAND_SZ /d "%PATH_HKCU%" /f



    - PATH 추가  (PATH_HKCU이용)
> set PATH_HKCU=%PATH_HKCU%;추가할 경로
> reg add "HKCU\Environment" /v "Path" /t REG_EXPAND_SZ /d "%PATH_HKCU%" /f




//-----------------------------------------------------------------------------
// 참고

    - set은 재부팅시 적용 안됨
> set name1=val1

 

반응형
Posted by codens