我对Windows中的环境变量有疑问。所以,我使用SETX命令设置了一个环境变量:
SETX my_var VAR
之后,我使用 SET m 查看我的变量是否已设置。它表明它不是。但是,该变量出现在 HKCU \ Environment 中。我退出命令提示符窗口并打开一个新窗口。再次键入 SET m 会使我的变量出现。 我重新启动 explorer.exe 并打开一个新的命令提示符窗口。使用 SET m 时,我的变量不再存在,但它位于 HKCU \ Environment 中。
我不明白这种行为。在重新启动 explorer.exe 后,它是否应该出现,并且它仍然在 HKCU \ Environment 中?我错过了什么,我只是不明白。
稍后编辑:我尝试在运行Windows 7的计算机上做同样的事情,我发现没有问题。不知道我的情况有什么问题。无论如何,我还要感谢大家的帮助。
答案 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)包含空格的值,则可能需要使用引号)