CreateTime--2017年8月4日11:28:11
Author:Marydon

参考链接:​​https://wenku.baidu.com/view/ae132fa103d276a20029bd64783e0912a2167c11.html​

一、系统变量

  1.添加系统变量

    1.1 设置变量值为路径

    举例:设置JAVA_HOME环境变量

    方式一:变量值使用绝对路径

@echo off  
:: 设置JDK环境变量JAVA_HOME
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="D:\ProgramFiles(x86)\Java\jdk1.7.0_79"
echo %JAVA_HOME%
pause

    方式二:变量值使用相对路径

@echo off  
:: 设置JDK环境变量JAVA_HOME
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%~dp0jdk1.7.0_79"
echo %JAVA_HOME%
pause

    将上面代码复制到txt文件中,路径改成你的jdk安装路径,保存后,名称随意(如:JAVA_HOME),双击运行-->win+r-->输入sysdm.cpl-->高级-->环境变量-->在系统变量中即可看到

    构成:

name用于指定环境变量名称,username用于指定环境变量的属性:临时变量/系统变量,VariableValue用于指定环境变量所对应的值,都是固定用法

windows 批处理设置环境变量_重启

    区别:

方式一对于Java程序的安装路径的要求比较高,即变量值对应的值必须与Java的安装路径完全一致,但是对于该bat文件存放在哪个位置无关;

方式二的%~dp0表示批处理文件所在的文件夹的路径,即:D:\ProgramFiles(x86)\Java;

方式二对于Java程序的安装路径没有要求,但是对于该bat文件存放位置有很大要求,该bat文件存放在Java文件夹下,

    所以JAVA_HOME="%~dp0jdk1.7.0_79",“%~dp0”和“jdk1.7.0_79”之间不用加“\”;

windows 批处理设置环境变量_重启_02

    如果还是不明白,请自行百度绝对路径与相对路径的区别

    1.2 设置变量值为死值

     举例:设置PLSQL的环境变量NLS_CHARACTERSET和NLS_LANG

@echo off    
:: 设置PLSQL的环境变量NLS_CHARACTERSET
wmic ENVIRONMENT create name="NLS_CHARACTERSET",username="<system>",VariableValue="AL32UTF8"
echo %NLS_CHARACTERSET%
:: 设置PLSQL的环境变量NLS_LANG
wmic ENVIRONMENT create name="NLS_LANG",username="<system>",VariableValue="AMERICAN_AMERICA.AL32UTF8"
echo %NLS_LANG%
pause

    保存成bat文件后,双击运行即可。

windows 批处理设置环境变量_WindowsSystem_03

  2.删除环境变量

@echo off  
:: 删除JDK环境变量JAVA_HOME
wmic ENVIRONMENT where name="JAVA_HOME" delete
pause

windows 批处理设置环境变量_环境变量_04

  3.修改环境变量

@echo off 
:: 更新环境变量JAVA_HOME的值
wmic ENVIRONMENT where "name='JAVA_HOME' and username='<system>'" set VariableValue="test"
echo %JAVA_HOME%
pause

windows 批处理设置环境变量_WindowsSystem_05

 

  注意:

where 关键字后跟的参数必须是一个连续的字符串,如果参数字符串含有空格需要用英文双引号 " 将参数括起来;

若字符串中有多个限定词,比如既有 name 又有 username,则需要使用 and 关键字来连接这些限定词。       

4.查看环境变量

语法:set + 环境变量名称

windows 批处理设置环境变量_环境变量_06

二、临时变量

  1.添加临时变量

set password=123

  将其保存成bat文件后,双击运行即可

windows 批处理设置环境变量_重启_07

临时变量只在当前窗口有效,一旦关闭,就会消失

三、结语

使用 wmic 命令修改环境变量是永久性的,而使用 set 命令修改环境变量是只针对当前命令行环境的临时修改;

pause-->终止命令执行,不关闭窗口(可以查看执行结果);exit-->终止命令执行并关闭执行窗口;

查看环境变量通常通过DOS窗口通过set +变量名称查看;

使用批处理改变环境变量,需要重启资源管理器或注销或重启后才能生效;

与其配置JAVA_HOME环境变量,再将其配置到Path中,不如直接在Path添加jdk的环境(编译&运行)

  错误方式:在path最前面添加配置

@echo off 
:: 在Path最前面添加JDK环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%~dp0jdk1.7.0_79\bin;%path%"
echo %path%
pause

  打开进入命令窗口,输入set path,重启前:

windows 批处理设置环境变量_JAVA_08

  重启资源管理器后结果展示:

windows 批处理设置环境变量_WindowsSystem_09

  

  解说:

    如图所示,通过命令的方式实现在Path最前面添加内容虽然实现了,但是会添加两次,因此不推荐使用,想要实现,需要到环境变量管理中手动进行配置 

  正确方式:在path最后面添加配置

  最佳方式:在path最后面添加配置并重启资源管理器

@echo off 
:: 在Path最前面添加JDK环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%~dp0jdk1.7.0_79\bin"
echo %path%
:: 重启资源管理器
taskkill /f /im explorer.exe
start explorer.exe
exit

  效果展示:

windows 批处理设置环境变量_重启_10

 

windows 批处理设置环境变量_重启_11

 

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

作者:​​Marydon​​