Windows 8에서 환경 변수를 쉽게 변경하는 방법은 무엇입니까? [복제]


27

가능한 중복 :
PATH 및 기타 환경 변수는 무엇이며 어떻게 설정하거나 사용할 수 있습니까?

Windows 8에서 환경 변수를 편집 할 수 있음을 알고 있습니다.

Start -> All Apps -> Control panel -> System -> 
    Advanced System Settings -> Advanced -> Environment variables.

그러나 솔직히 이것은 엄청나게 복잡합니다.

Windows 8에서 환경 변수를 변경하는 더 쉬운 방법이 있습니까?

예를 들어 PATH에 새 폴더를 추가하려면이 모든 단계를 수행하는 것이 실제로 성가시다. 작은 텍스트 입력으로 긴 변수 값을 편집하는 것이 실제로 고통스럽기 때문에 UI도 짜증납니다.

요구 사항 1 : 변경 사항을 유지해야합니다 (예 : set콘솔에서 사용할 때 콘솔을 닫으면 변경 사항이 손실 됨)

요구 사항 2 : 추가 소프트웨어를 설치하지 않는 솔루션을 선호합니다. 새로운 Windows 상자를 구성 할 때마다 발생하는 문제이기 때문입니다.


주제에 관한 멋진 게시물 : windows-commandline.com/set-path-command-line
Royi

답변:


32

set and setx 명령 을 살펴 보셨습니까 ? 그들과 함께 영속 변수를 설정할 수 있습니다. 또한 다음 로그온 이후가 아니라 즉시 값이 적용됩니다.

Windows SET명령의 예 :

PATH 환경 변수를 인쇄하십시오.

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

set 명령을 사용하여 PATH 변수를 설정하십시오.

C:\Users\Charity>set PATH=%PATH%;C:\epicpath
C:\Users\Charity>

위 명령은 현재 창에만 적용되며 cmd 창이 닫히면 변경 내용이 손실됩니다.

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\epicpath

Windows SETX명령의 예 :

PATH 환경 변수를 인쇄하십시오.

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

setx를 사용하여 환경 변수를 설정하십시오.

C:\Users\Charity>setx PATH "%PATH%;C:\zombiepoke"
SUCCESS: Specified value was saved.

cmd 터미널을 닫았다가 다시 연 후 다음을 실행하십시오.

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\zombiepoke

큰 따옴표로주의해야합니다. 따옴표를 경로 변수에 넣으면 무언가가 깨질 수 있습니다. 그러나 원래 % PATH %에 대한 부록을 지정하는 데 필요합니다.


1
팁 고마워! 시도 setx PATH=%PATH%;;C:\test했지만 구문 오류가 발생합니다. (
jsalonen

2
setx를 사용할 때는 = 부호가 없습니다. setx /?
EBGreen

4
"setx"인수는 사용자 컨텍스트에서만 변수를 설정합니다. 시스템 컨텍스트에서 설정하려면 "setx / M"을 사용하십시오. "echo % PATH %"에 연결된 시스템 및 사용자 값이 표시되므로이를 모르면 혼동 될 수 있습니다.
Vituel

이 변경 사항을 적용한 후에는 셸을 다시 시작해야합니다.
Doug

마이너 참고 : set path= ~ echo %PATH% [ set path쇼 같은 값 PATHEXT]
gerryLowry


4

Powershell에서 변경합니다. 예를 들어 PATH 변수에 폴더를 추가하려면 powershell을 열고 다음을 수행하십시오.

$newPath = $env:Path + ';C:\Temp'
[Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine')

모든 사용자에 대해 변경됩니다. 명령을 실행하는 사용자에 대해서만 변경하려면 마지막 매개 변수를 'User'로 변경하십시오. 또는이 세션에서 임시로 변경하려면 :

$env:Path += ';C:\temp'

큰! 명령 프롬프트에서 $ env : Path + '; C : \ Temp'연결을 어떻게 수행합니까? 여기에서 Set & Setx 솔루션은 명령 프롬프트에서 전체 경로를 설정하는 방법을 설명하지만 기존 경로에 무언가를 추가하는 방법은 설명하지 않습니다.

다음은 명령 프롬프트에서 기존 경로에 무언가를 추가하는 방법입니다. / M은 USER 변수가 아닌 SYSTEM 변수를 변경하는 데 사용됩니다. "내 폴더"는 공백을 포함하므로 따옴표가 사용됩니다. setx PATH "% PATH %; C : \ My Folder"/ M
johny 왜

명령 프롬프트를 사용할 때의 문제는 255 자로 제한되며 시스템 PATH는이를 초과 할 수 있습니다 (특히 더 많은 디렉토리를 추가하는 경우). 따라서 Powershell은 갈 길입니다 (잘못 될 수는 있지만 Powershell에는 문자 수 제한이 없다고 생각합니다).
johny 왜

3

명령 행에서 매우 쉽습니다.

set MyVar=HelloWorld

명령 행 cmd으로 이동하려면 시작 화면에서 입력 하십시오.>

변수를 보려면

echo %MyVar%

사용이 setx영구적으로 변수를 설정합니다. 구문이 약간 다릅니다. 시도 찾고 여기에 , 또는 그 사용 방법을 알려줍니다 거기 다른 사이트의 많은.


그래, 고마워, 나는 이것을 이미 알고 있지만 문제는 당신이 이런 식으로 변경하면 그것들이 지속되지 않는다는 것입니다. 즉, 명령 줄을 닫았다가 다시 열면 변수가 기본값으로 되돌아갑니다. 이것을 반영하여 내 질문을 업데이트했습니다. 죄송합니다.
jsalonen

내가 할 수 있는지 아십니까 set?
jsalonen

1
setx는 영구적 인 변경을위한 것입니다
EBGreen

다음에 다시 시작할 때까지 변수를 설정하는 방법이 있습니까? 그렇지 않으면 다른 프로그램 (Python 또는 MATLAB의 OS 명령이라고 함)에서 set을 사용하면 프로그램 세션이 열려있는 한 유지됩니까?
Royi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.