태그 보관물: environment-variables

environment-variables

Windows 환경 변수에서 SETX와 SET의 차이점은 무엇입니까? 이해에 따르면 : 둘

차이점은 무엇이며 SETX그리고 SET?

내 이해에 따르면 :
둘 다 환경 변수를 설정하는 데 사용되며
SETX사용자 변수입니다.
SET쉘 변수입니다.



답변

나는 그렇게 간단하지 않다는 것을 두려워합니다. 환경 변수는 범위에 따라 제한되지 않지만 동사를 비교할 때 변수 값의 수명이 다를 수 있습니다.

Set현재 쉘 (창) 환경 값을 수정하고 변경 사항을 즉시 사용할 수 있지만 일시적입니다. 변경 사항은 실행중인 다른 셸에는 영향을 미치지 않으며 셸을 닫 자마자 다시 설정된 값을 실행할 때까지 새 값이 손실됩니다.

setx값을 영구적으로 수정하여 이후의 모든 쉘에 영향을 주지만 이미 실행중인 쉘의 환경은 수정하지 않습니다. 변경 사항을 적용하기 전에 셸을 종료했다가 다시 열어야하지만 다시 변경할 때까지 값이 수정 된 상태로 유지됩니다.

예를 보려면 여기를 참조하십시오 : http://batcheero.blogspot.com/2008/02/set-and-setx.html


답변

실제로 우리는 세 가지 범위에서 변수를 설정할 수 있습니다.
1. Shell
2. User
3. System (Machine) 또는 Global

SET : 임시로 현재 쉘 범위를 작성하거나 업데이트합니다.

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.

SETX : 영구적 인 현재 사용자 환경 변수를 작성하거나 업데이트합니다.

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 환경에서 변수를 설정하는 것입니다.


답변