从Windows批处理文件设置系统环境变量?

是否可以在Windows 7中的命令提示符(甚至是XP)中的系统级别设置环境变量。 我从提升的命令提示符下运行。

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


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

C:Program FilesSupport 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作为标准安装的一部分。


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

setx JAVA_HOME "C:Program Files (x86)Javajdk1.7.0_04"

这将为当前用户设置环境变量“JAVA_HOME”。 如果你想为所有用户设置一个变量,你必须使用选项“-m”。 这里是一个例子:

setx -m JAVA_HOME "C:Program Files (x86)Javajdk1.7.0_04"

注意 :您必须以管理员身份执行此命令。

注意 :确保从命令行管理员窗口运行setx 命令


如果通过SETX设置变量,则不能立即使用此变量或其更改。 您必须重新启动想要使用它的进程。

使用以下顺序直接在设置过程中进行设置 (在完成设置全局变量后执行一些初始化操作的脚本中完美工作)

SET XYZ=test
SETX XYZ test
链接地址: http://www.djcxy.com/p/30335.html

上一篇: Setting a system environment variable from a Windows batch file?

下一篇: Is it possible to/how do you stop powershell using certain cmdlets?