답변:
나는 그렇게 간단하지 않다는 것을 두려워합니다. 환경 변수는 범위에 따라 제한되지 않지만 동사를 비교할 때 변수 값의 수명이 다를 수 있습니다.
Set
현재 쉘 (창) 환경 값을 수정하고 변경 사항을 즉시 사용할 수 있지만 일시적입니다. 변경 사항은 실행중인 다른 셸에는 영향을 미치지 않으며 셸을 닫 자마자 다시 설정된 값을 실행할 때까지 새 값이 손실됩니다.
setx
값을 영구적으로 수정하여 이후의 모든 쉘에 영향을 주지만 이미 실행중인 쉘의 환경은 수정하지 않습니다. 변경 사항을 적용하기 전에 셸을 종료했다가 다시 열어야하지만 다시 변경할 때까지 값이 수정 된 상태로 유지됩니다.
예를 보려면 여기를 참조하십시오 : http://batcheero.blogspot.com/2008/02/set-and-setx.html
실제로 우리는 세 가지 범위에서 변수를 설정할 수 있습니다.
1. Shell
2. User
3. System (Machine) 또는 Global
C:\Users\977246>set /?
Displays, sets, or removes cmd.exe environment variables.
SET [variable=[string]]
variable Specifies the environment-variable name.
string Specifies a series of characters to assign to the variable.
Type SET without parameters to display the current environment variables.
C:\Users\977246>setx /?
SetX has three ways of working:
Syntax 1:
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
Syntax 2:
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
Syntax 3:
SETX [/S system [/U [domain\]user [/P [password]]]]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
Description:
Creates or modifies environment variables in the user or system
environment. Can set variables based on arguments, regkeys or
file input.
To remove the variable set value to empty string as follows
Example: setx path ""
GUI 사용자 및 시스템 환경 변수
다른 답변자가 놓친 요점 추가.
사용자 환경 변수 대신 시스템 환경 변수를 설정하려면 setx 명령에서 / m 옵션을 사용하고 관리자 권한 명령 프롬프트에서 실행하면됩니다.
setx variable value /m
예 : 관리자 권한으로 명령 프롬프트를 열고 실행
setx Path "%Path%;C:\Users\User\Libs" /m
설명 : 위 명령은 "C : \ Users \ User \ Libs"를 기존 경로 변수 (시스템 환경 변수)에 추가합니다.
/ m 인수가 없으면 사용자 수준 경로 변수 만 변경하거나 만듭니다.
setx 사용자 매뉴얼에서
/ M 변수가 시스템 전체 (HKEY_LOCAL_MACHINE) 환경에서 설정되도록 지정합니다. 기본값은 HKEY_CURRENT_USER 환경에서 변수를 설정하는 것입니다.
SET /?
하고SETX /?
-그것은 당신에게 아이디어를 줄 것입니다.