从命令提示符设置和获取 Windows 环境变量?

Sha*_*ane 278 windows command-line environment-variables

我想从命令提示符设置一个环境变量,然后能够全局访问它(例如,我应该通过转到 System -> Environment Variables 来查看它)。

当我使用 set 命令时,它无法在新的 cmd 会话中访问。

set NEWVAR=SOMETHING
echo %NEWVAR%
Run Code Online (Sandbox Code Playgroud)

相关问题:

Chr*_*isF 326

要使环境变量可全局访问,您需要在注册表中设置它。正如您已经意识到的那样:

设置 NEWVAR=某事

您只是在当前进程空间中设置它。

根据此页面,您可以使用以下setx命令:

setx NEWVAR 某事

setx内置于 Windows 7 中,但对于旧版本可能只有在您安装Windows Resource Kit时才可用

  • @MD.MohiuddinAhmed 那是因为路径中有空格。 (13认同)
  • 请注意,您需要指定配额,例如:`setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_45"` 将起作用。但是`setx JAVA_HOME C:\Program Files\Java\jdk1.7.0_45` 会给你语法错误 (8认同)
  • 由于 1024 个字符的限制,这可能会损坏您的路径!- 请参阅 https://superuser.com/questions/387619/overcoming-the-1024-character-limit-with-setx (3认同)
  • 对于 Windows 终端,您当前(2020 年 11 月)需要关闭所有实例并重新启动。 (2认同)

小智 44

我们也可以使用“setx var variable /M”将var设置为系统环境变量级别而不是用户级别。

注意:此命令应以管理员身份运行。


Lin*_*inh 23

setx program "C:\Program Files" /M
Run Code Online (Sandbox Code Playgroud)

/M 用于设置系统环境变量级别而不是用户级别,如@Minh Chau 回答

测试 在此处输入图片说明

RESTART命令行(如果不重启命令行,环境变量将不起作用)

在此处输入图片说明

  • @DavidPostill 我的答案有一个新的答案是我们需要重新启动命令行。我觉得很重要 (10认同)

DFS*_*FOT 7

您可以使用setx env var [/M]如上所述。如果没有生效可以使用refreshenv刷新环境变量。您不必重新启动计算机、explorer.exe 或命令提示符即可执行此操作。

编辑:显然 refreshenv 不是 Windows 自然出现的,所以这里是来源:https
://pastebin.com/1fJqA0pT 另存为 RefreshEnv.cmd 并将其放在包含在 PATH 环境变量中的文件夹中

  • +1 提到“refreshenv”-我以前从未遇到过! (2认同)

小智 5

系统变量可以通过 CMD 和注册表设置 例如。reg 查询“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment”/v PATH

这里给出了所有常用的 CMD 代码和系统变量:Set Windows system environment variables using CMD

打开 CMD 并输入Set

您将获得系统变量的所有值。

键入set java以了解安装在 Windows 操作系统上的 java 的路径详细信息。


归档时间:

查看次数:

785466 次

最近记录:

4 年,10 月 前