我需要在PATH变量中添加一个新条目。这是我工作中的常见活动,但是最近我开始使用Windows8。我认为该过程类似于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
编辑5/31/2013
因此,经过无奈之后,我编写了一个小型C#应用程序来测试WM_SETTINGCHANGE
事件。这段代码在Windows 7和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
没有获得更新的环境。