질문은 거의 모든 것을 말해줍니다. 자신의 PATH
환경 변수 를 편집 할 수있는 권한이없는 사용자 가 있으며 어떤 이유로 든 수정해야하는 경우 PATH
, 사용자가 다시 로그인하기 전에 관리자가 로그인하고이를 변경할 수 있도록 로그 아웃해야 합니다. . 이것은 이상적이지 않습니다. 더 나은 방법으로 할 수 있습니까?
답변
관리자 권한으로 cmd 쉘을 호출하거나 다른 runas 메소드를 항상 호출 할 수 있으며 SETX 와 같은 도구를 사용 하여 경로를 영구적으로 수정할 수 있습니다. 기존 쉘 및 / 또는 실행중인 프로그램은 이전 경로를 사용하지만 새 쉘 / 프로그램은 새 설정을 사용합니다.
답변
관리자 권한이없는 계정 :
“사용자 계정”을 열고 “내 환경 변수 변경”( http://support.microsoft.com/kb/931715 )을 선택 하십시오 .
이 대화 상자에는 시스템 변수뿐만 아니라 현재 사용자 변수가 표시됩니다. 로컬 PATH 변수를 아직 추가하지 않은 경우 추가해야 할 수도 있습니다.
예를 들어 Python 3.3 디렉토리를 포함하도록 경로를 업데이트하려면 새로 작성을 클릭하십시오.
변수 이름 : PATH 변수 값 : % PATH %; C : \ Python33
현재 시스템 PATH를 가져 와서 추가하여 로컬 PATH를 만듭니다.
답변
내 컴퓨터 / 속성 / 고급 / 환경 변수 이미 열려있는 명령 프롬프트 창을 제외하고 변경 사항이 즉시 적용 됩니다. 로그 아웃했다가 다시 로그인 할 필요가 없습니다.
참고 : 해당 창에 액세스 할 수없는 경우 rundll32 sysdm.cpl,EditEnvironmentVariables
실행 창 또는 명령 줄에서 실행하여 창을 열 수 있습니다.
답변
명령 프롬프트에서 다음을 수행 할 수 있습니다.
set PATH=C:\somedir;%PATH%
그러나 이것은 명령 프롬프트 (및 명령 프롬프트에서 시작 된 모든 앱)에 대해서만 변경됩니다. 이것을 사용자가 수행하는 모든 것에 적용하기를 원한다고 가정하면 사용자 환경 변수를 변경합니다. 내 컴퓨터, 속성, 고급, 환경 변수를 마우스 오른쪽 단추로 클릭하고 “변수 추가를위한 사용자 변수 :
PATH = C:\whatever
사용자가 로그인하면 시스템 전체 경로에 추가됩니다.
답변
사용자에게 “관리자”권한이없는 경우에도 시스템 전체 PATH 변수를 무시하는 명령 프롬프트에서 PATH 변수를 설정할 수 있습니다. 변경 사항은 사용자가 해당 명령 프롬프트에서 시작하는 새로운 프로세스에 적용됩니다. 기존 탐색기 프로세스 및 사용자가 변경을 수행 할 때 실행중인 다른 프로세스는 변경 내용을 “보지”않습니다.
답변
위의 답변 외에도 레지스트리를 업데이트 할 수도 있습니다 (스크립트 가능함).
PATH 변수는 HKEY_CURRENT_USER \ Environment에 저장됩니다.
현재 경로를 읽으려면
reg query HKEY_CURRENT_USER\Environment /v PATH
경로에 c : \ somedir 값을 추가하려면 다음을 수행하십시오.
reg add HKEY_CURRENT_USER\Environment /v PATH /d "%PATH%;c:\somedir"
프로세스는 시작될 때 환경을 읽으므로 새 경로를 얻으려면 프로세스를 다시 시작해야합니다.
업데이트 : 내가 찾은 또 다른 방법은 다음을 실행하는 것입니다.
rundll32 sysdm.cpl,EditEnvironmentVariables
이 애플릿은 레지스트리를 편집하며 위와 동일한 효과를 갖습니다.