Windows中的环境变量行为

时间:2014-08-20 08:55:34

标签: windows environment-variables

我对Windows中的环境变量有疑问。所以,我使用SETX命令设置了一个环境变量:

SETX my_var VAR

之后,我使用 SET m 查看我的变量是否已设置。它表明它不是。但是,该变量出现在 HKCU \ Environment 中。我退出命令提示符窗口并打开一个新窗口。再次键入 SET m 会使我的变量出现。 我重新启动 explorer.exe 并打开一个新的命令提示符窗口。使用 SET m 时,我的变量不再存在,但它位于 HKCU \ Environment 中。

我不明白这种行为。在重新启动 explorer.exe 后,它是否应该出现,并且它仍然在 HKCU \ Environment 中?我错过了什么,我只是不明白。

稍后编辑:我尝试在运行Windows 7的计算机上做同样的事情,我发现没有问题。不知道我的情况有什么问题。无论如何,我还要感谢大家的帮助。

2 个答案:

答案 0 :(得分:0)

在Windows 8.1上为我工作 你在用什么Windows版本?

答案 1 :(得分:0)

setx设置future个会话的变量,而不是任何现有会话(包括此会话)。

没有人声称有任何合乎逻辑的理由不是这个'怪癖。但是要克服这个问题 - 只需在路径上的某处添加 SETXX.BAT

<强> SETXX.BAT

SETX %1 %2
set "%1=%2"

并以

执行
call SETXX my_var VAR

(如果您尝试set(x)包含空格的值,则可能需要使用引号)