PATH 변수에 새 항목을 추가해야했습니다. 이것은 내 일에서 일반적인 활동이지만 최근에 Windows 8을 사용하기 시작했습니다. 프로세스가 Windows 7, Vista, XP와 비슷하다고 가정했습니다 ...
이벤트 순서는 다음과 같습니다.
- 시스템 속성을여십시오 (시작-> [유형 "제어판"]-> 제어판 \ 시스템 및 보안 \ 시스템-> 고급 시스템 설정-> 환경 변수)
- USER PATH 변수의 시작 부분 에 새 경로를 추가하십시오 (C : \ dev \ Java \ apache-ant-1.8.4 \ bin;)
- 명령 프롬프트를 열었습니다 (시작-> [ "명령 프롬프트 입력"입력]-> "경로 입력"입력)
새 경로를 입력 할 수 없습니다 (첨부 된 이미지 및 비디오 참조). Windows 7 컴퓨터에서 똑같은 프로세스를 복제하여 작동했습니다.
편집하다
편집하다
이것은 Windows 7의 동작이 아닙니다. Windows 7에서 작동 할 것으로 예상 되는 동작을 보려면이 비디오를보십시오 . http://youtu.be/95JXY5X0fII
2013 년 5 월 31 일 편집
그래서 많은 좌절을 겪은 후 작은 C # 앱을 작성하여 WM_SETTINGCHANGE
이벤트 를 테스트했습니다 . 이 코드는 Windows 7과 Windows 8에서 이벤트를받습니다. 그러나 시스템의 Windows 8에서는 올바른 경로를 얻지 못합니다. 그러나 Windows 7에서는 그렇게합니다. 다른 Windows 8 시스템에서는 재현 할 수 없습니다.
다음은 C # 코드입니다.
using System;
using Microsoft.Win32;
public sealed class App
{
static void Main()
{
SystemEvents.UserPreferenceChanging += new UserPreferenceChangingEventHandler(OnUserPreferenceChanging);
Console.WriteLine("Waiting for system events.");
Console.WriteLine("Press <Enter> to exit.");
Console.ReadLine();
}
static void OnUserPreferenceChanging(object sender, UserPreferenceChangingEventArgs e)
{
Console.WriteLine("The user preference is changing. Category={0}", e.Category);
Console.WriteLine("path={0}", System.Environment.GetEnvironmentVariable("PATH"));
}
}
OnUserPreferenceChanging
에 해당 WM_SETTINGCHANGE
Windows 7에서 실행되는 C # 프로그램 (이벤트가 발생하고 올바른 경로를 선택하는 것을 볼 수 있음)
Windows 8에서 실행되는 C # 프로그램 (이벤트가 발생하지만 잘못된 경로가 표시됨)
내 환경에 대해이 문제를 강요하는 것이 있습니다. 그러나 이것은 Windows 8 버그입니까?
2014-04-28 수정
이 문제와 다른 여러 가지 문제로 인해 더 이상 데스크톱에서 Windows 8을 사용하지 않습니다. 이 문제에 대한 테스트와 실험을 계속할 수있는 환경이 없습니다. 아직이 문제에 대한 답이나 해결책이 없습니다. 아래의 답변으로 문제가 해결되지 않았습니다.
cmd
새 인스턴스가 시작될 때 새 환경 변수가 표시됩니다 . 물론 이미 실행중인 cmd
환경은 업데이트 된 환경을 얻지 못했습니다.