在Windows 7(甚至XP)中,是否可以通过命令提示符在系统级别设置环境变量?我正在从一个升高的命令提示符运行。

当我使用set命令(set name=value)时,环境变量似乎只对命令提示符的会话有效。


当前回答

XP支持工具(可以从XP光盘中安装)附带一个名为setx.exe的程序:

C:\Program Files\Support Tools>setx /?

SETX: This program is used to set values in the environment
of the machine or currently logged on user using one of three modes.

1) Command Line Mode: setx variable value [-m]
   Optional Switches:
    -m  Set value in the Machine environment. Default is User.

...
For more information and example use: SETX -i

我认为Windows 7实际上附带了setx作为标准安装的一部分。

其他回答

如果你需要删除一个变量,你可以在http://barnyard.syr.edu/~vefatica上使用Vincent Fatica提供的SETENV。 不是最近的(1998年),但仍然在Windows 7 x64上工作。

对于XP,我使用了一个叫做“RAPIDEE”(快速环境编辑器)的(免费/捐赠软件)工具,但是SETX对于Win 7来说已经足够了(我以前不知道这个)。

在命令行中使用setx.exe设置JAVA_HOME的简单示例:

setx JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

这将为当前用户设置环境变量“JAVA_HOME”。如果你想为所有用户设置一个变量,你必须使用选项“/m”(或者-m,在Windows 7之前)。

这里有一个例子:

setx /m JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

注意:该命令需要以Administrator用户执行。

注意:请确保在命令行管理窗口中运行命令setx

XP支持工具(可以从XP光盘中安装)附带一个名为setx.exe的程序:

C:\Program Files\Support Tools>setx /?

SETX: This program is used to set values in the environment
of the machine or currently logged on user using one of three modes.

1) Command Line Mode: setx variable value [-m]
   Optional Switches:
    -m  Set value in the Machine environment. Default is User.

...
For more information and example use: SETX -i

我认为Windows 7实际上附带了setx作为标准安装的一部分。

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

这里列出了所有常用的CMD代码和系统变量:通过CMD设置Windows系统环境变量。

打开CMD,输入Set

你会得到系统变量的所有值。

输入set java可以了解windows操作系统上安装的java的详细路径。