从Windows批处理文件设置系统环境变量?
是否可以在Windows 7的命令提示符(甚至是XP)中的系统级别设置环境变量。我从提升的命令提示符下运行。从Windows批处理文件设置系统环境变量?
当我使用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
作为标准安装的一部分。对于如何在命令行与setx.exe
设置JAVA_HOME
简单的例子:
setx JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"
这将设置环境变量“JAVA_HOME”为当前用户。如果你想为所有用户设置一个变量,你必须使用选项“-m”。这里有一个例子:
setx -m JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"
注意:你必须以管理员身份才能执行此命令。
注意:确保从命令行管理窗口
也注意到有些工具不喜欢JAVA_HOME中的空格,因此值得使用'Progra〜1': \t'setx/M JAVA_HOME“C:\ Progra〜1 \ Java \ jdk1.7.0_09”' – samael 2013-07-31 10:01:01
这是我的一生。 – 2017-06-28 17:07:11
对于XP,我用所谓的“RAPIDEE”(快速环境编辑器(免费/ donateware)工具运行命令SETX ),但是对于Win 7来说,SETX绝对是足够的(我以前不知道这一点)。
为防万一您需要删除变量,您可以使用Vincent Fatica的SETENV,网址为http://barnyard.syr.edu/~vefatica。 不是最近('98),但仍然在Windows 7 x64上工作。
setx还允许您通过将该值设置为空白来删除 – 2015-02-10 02:48:40
如果通过SETX设置变量,则不能立即使用此变量或其更改。您必须重新启动想要使用它的进程。
使用下面的顺序直接设置它在制定过程太(对我的作品完美地,设置全局变量后做一些初始化的东西脚本):
SET XYZ=test
SETX XYZ test
系统变量可以通过CMD和注册表设置 例如。 REG查询 “HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \控制\会话管理\环境”/ V PATH
所有常用CMD代码和系统变量在这里给出:Set Windows system environment variables using CMD。
打开CMD和类型设置
您将获得系统变量的所有值。
类型设置java了解您的窗口操作系统上安装的Java的路径细节。
Windows 7(也许Vista已经)有setx标准,有一个小的改变?没有'-i'标志,只是运行'setx /?'显示所有帮助+示例 – stijn 2013-07-13 07:12:14
请记住,您可以随时通过键入“where”和程序的名称来检查您的路径是否有此程序所以在这种情况下'setx.exe'在Server 2008和Server 2008SP2盒子上测试,我发现这两种情况都存在'%windir%\ System32 \ setx.exe' – aolszowka 2013-09-20 16:34:59
@stijn - Win7版本也正式将标志介绍人从'-'改为正斜杠'/',但看起来像'-'版本仍然有效 – 2013-11-06 14:35:56