업데이트 NO.2-이제 실제 질문 : 중첩 된 사용자 생성 변수가 확장되지 않는 이유는 무엇입니까?
Windows의 변수 확장과 관련하여 몇 가지 일반적인 문제가 있습니다. 나는 이미 같은 문제에 부딪 쳤고 명확하고 재현 가능한 상황을 발견하지 못했습니다. 확장에 실패하는 재귀 수준이 일정하지 않고 특수 문자가 역할을하지 않는 것처럼 보입니다.
내가 찾은 유일한 해결 방법은 재귀 수준으로 변수 재귀 수준을 추가하는 것입니다. 즉, PATH에서 사용자 정의 변수로의 호출을 포함하여 서로 중첩하려는 모든 변수를 삭제 한 다음 처음부터 시작하십시오. 기본 변수 (예 : ANT-HOME)를 정의하고 커밋하고 확장되었는지 확인하십시오. 확장 된 경우 다음 레벨 커밋으로 진행하십시오. 확인하십시오. 아이디어를 얻습니다.
업데이트 된 답변-CLI 및 GUI를 사용하여 영구 환경 변수 정의 - 원래 답변을 보려면 아래로 스크롤하십시오.
GUI 방법 :
Windows 7의 경우 META 프롬프트에 "system"을 입력하면 "시스템 환경 변수 편집"항목이 표시됩니다. 거기에서 "환경 변수"를 클릭하십시오. 여기에서 시스템 변수 PATH (하단 목록)를 편집하거나 사용자 환경 변수에 새 PATH 변수를 추가 / 편집 할 수 있습니다.
명령 줄 방법 :
환경 변수를 영구적으로 변경하려면 Windows 명령 행에서 SETX 명령을 사용해야합니다. 다른 버전의 Windows와 달리 Windows 7에는 기본적으로 제공됩니다. 구문은 SET과 크게 다르지만 강력합니다. SETX를 사용하면 변수를 엉망으로 만드는 것이 쉽습니다.
기본적으로 사용자 변수 를 변경 합니다 . 시스템 PATH 변수와 함께 공존하는 PATH 사용자 환경 변수를 가질 수 있습니다. 아직 정의하지 않은 경우 다음을 입력하여 정의하십시오.SETX PATH yourpath
시스템 변수 PATH에 값을 추가 할 수도 있습니다. 이렇게하려면 먼저 관리자 권한이있는 명령 행을 불러 와야합니다. 이렇게하려면 메타 (윈도우) 키를 입력 히트 cmd
와 히트 CTRL
+ SHIFT
+를 ENTER
하고 UAC 대화 상자를 확인합니다.
경로에 새 값을 추가하려면 이제 입력하십시오
setx path "%path%;yournewpath" /m
이 구문을 따르는 것이 중요합니다! % path %를 먼저 포함하지 않으면 기존의 모든 경로 값이 손실되고 새 경로로만 바뀝니다.
끝에있는 / m 스위치는 시스템 환경에서 변수를 설정합니다.
새 변수를 사용하려면 새 명령 줄을 가져와야합니다.
TechNet에는 SETX에 대한 전체 참조 도 있습니다 .
이전 답변
SET 명령은 현재 명령 행 세션 동안에 만 변수를 업데이트합니다.
변수에 값을 추가하는 올바른 구문은 'set [variable] = % [variable] %; [new value]`입니다.
등호 왼쪽에서 백분율 기호를 생략해야합니다!
출처 : Windows Server 용 TechNet 명령 줄 참조