在Windows中设置环境变量而不重新启动

时间:2010-09-28 09:04:15

标签: wmi cmd environment-variables

我正在运行Windows 7系统,我希望能够设置系统环境变量,并能够在我启动的后续命令提示中看到它。

当我使用“setx”设置系统环境变量时,工作正常,但考虑到我想在XP和Windows 7上使用相同的脚本代码,我不能在XP上执行此操作,因为XP不是来自默认使用setx。

所以我不得不求助于使用WMI来设置环境变量:

我使用此following code来设置变量:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set objVariable = objWMIService.Get("Win32_Environment").SpawnInstance_

objVariable.Name = "TestKey"
objVariable.UserName = "<System>"
objVariable.VariableValue = "TestValue"
objVariable.Put_

但是现在,当我启动一个新的命令提示符时,环境变量不会生效; 但是,如果我重新启动系统它会生效;当我转到MyComputer&gt;属性&gt;高级系统设置&gt;环境变量,然后我看到那里出现的“TestKey”值;当我点击“确定”按钮然后启动一个新的命令提示符时,“TestKey”值似乎神奇地出现;

我是否可以使系统环境变量出现在后续的命令提示中,而无需在环境变量窗口(在系统属性中)单击确定或重新启动机器?

1 个答案:

答案 0 :(得分:1)

您可以安装Windows XP Service Pack 2支持工具,其中包括setx。我们已经使用它几年来轻松地在不同级别的Java,Weblogic,JBoss等之间切换开发环境,因为我们支持许多不同的版本。

希望这有帮助!