Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows中的环境变量行为_Windows_Environment Variables - Fatal编程技术网

Windows中的环境变量行为

Windows中的环境变量行为,windows,environment-variables,Windows,Environment Variables,我有一个关于Windows环境变量的问题。因此,我使用SETX命令设置了一个环境变量: SETX my_var VAR 之后,我使用SET m来查看变量是否已设置。这表明它不是。但是,该变量出现在HKCU\Environment中。我退出命令提示符窗口并打开一个新窗口。再次键入SET m将显示我的变量。 我重新启动explorer.exe并打开一个新的命令提示符窗口。使用SET m时,我的变量不再存在,但它位于HKCU\Environment中 我不理解这种行为。重新启动explorer.ex

我有一个关于Windows环境变量的问题。因此,我使用SETX命令设置了一个环境变量:

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

我不理解这种行为。重新启动explorer.exe后,如果它仍然在HKCU\Environment中,它不应该也出现吗?我错过了一些东西,我只是不明白是什么


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

在windows 8.1上对我有效 您使用的windows版本是什么?

setx为将来的会话设置变量,而不是包括此会话在内的任何现有会话

从来没有人声称“不是这个”怪癖有任何合乎逻辑的原因。但这是每个人都要克服的——只需在你的路径上的某个地方添加SETXX.BAT

SETXX.BAT

并按要求执行

call SETXX my_var VAR

如果您试图设置一个包含空格的值,您可能需要使用引号,因为打开另一个命令提示符窗口时,可能会重复我已经做过的操作,它确实起作用了。我的问题是为什么重新启动explorer.exe后它不再工作?请尝试使用/m:/m指定在系统环境中设置变量。默认设置是本地环境。感谢您的建议,但它仍然不起作用。您是否在提升的命令提示符下运行了它?我也是8.1 pro。我看到的和你看到的完全一样。然而,在重新启动explorer之后,当在cmd框中执行SETM时,我确实看到了我的变量。您的pc/用户帐户不符合某些重置环境变量的策略?我不知道[不是我的个人家用电脑]。但是,如果是,在重新启动explorer.exe后,该变量不应该不再出现在HKCU\Environment中吗?不管怎样,我会调查你的话的。仍然不起作用。重新启动explorer.exe是个问题,尽管我不明白为什么会发生这种情况。
call SETXX my_var VAR