背景(为什么要写)
在我工作期间已经数次打开过下面这个窗口进行系统环境变量的配置:
这是个重复性并且涉及到需要手动输入来完成的工作。需要手动输入数据
去完成的工作,一旦工作量稍微增大的话,工作效率和工作质量就会明显
下降。
如果重复性并且需要手动输入数据的工作通过 "工具(程序)+配置文件" 的形式来
完成的话就能够做到一次成功,到处使用了。
预备知识
1. dos基础命令的基本使用
2. windows的cmd命令行基本使用
准备环境
1. windows系统,含有cmd命令
实验步骤
1.下载附件,解压到磁盘的一个目录(这是我解压到D:\Development\EnviromentConfig目录)
附件地址:https://github.com/zhangguangyong/codes.git
1.1 展开的层级目录结构:
├─backup
├─bin
│ epath.bat
│ evar.bat
│ init-epath-revert.bat
│ init-epath.bat
│ init-evar-revert.bat
│ init-evar.bat
│ init-revert.bat
│ init.bat
│
├─conf
│ epath.conf
│ evar.conf
│
└─logs
1.2 目录介绍:
backup: 配置环境变量过程中的备份
bin: 具体的配置命令
epath.bat:被调用的bat文件,用于配置Path系统变量的
evar.bat:被调用的bat文件,用于配置系统环境变量的
init-epath-revert.bat:恢复到最早一次的Path系统变量
init-epath.bat:设置Path系统变量
init-evar-revert.bat:恢复到最早一次的系统环境变量
init-evar.bat:设置系统环境变量
init-revert.bat:恢复到最早一次的Path和系统环境变量
init.bat:设置Path和系统环境变量
conf: 配置环境变量的配置文件
epath.conf: 系统Path变量的配置文件
# 内容格式如下(一行为一个单独的软件Path路径):
%JAVA_HOME%\bin
%CATALINA_HOME%\bin
%MAVEN_HOME%\bin
evar.conf: 系统环境变量的配置文件
# 内容格式如下(一行为一个系统变量的配置 name=value):
JAVA_HOME=D:\Development\Java\jdk
CATALINA_HOME=D:\Development\Apache\Tomcat
MAVEN_HOME=D:\Development\Apache\Maven
logs: 执行命令后的日志文件(暂时还没提供,直接打印在控制台了)
2. 动手配置 conf 目录下的配置文件
evar.conf 内容如下(这是我PC上的配置,根据自己PC的目录结构自行更改即可):
# 一行一个变量的配置,注释行用#开头
JAVA_HOME=D:\Development\Java\jdk
CATALINA_HOME=D:\Development\Apache\Tomcat
MAVEN_HOME=D:\Development\Apache\Maven
epath.conf 内容如下(这是我PC上的配置,根据自己PC的目录结构自行更改即可)
# 一行一个软件的Path配置,注释行用#开头
%JAVA_HOME%\bin
%CATALINA_HOME%\bin
%MAVEN_HOME%\bin
3. 执行 bin 目录下的bat文件,进行环境变量的配置
3.1 假设你把此工具放入到了:D:\Development\EnvironmentConfig
3.2 在使用之前,我们先查看原始系统环境变量的初始值
系统变量:
系统Path变量
3.3 进入到 bin 目录下:
这里的bat文件需要成对去使用,第一个是设置,第二个是恢复:
+++++++++++++++++++ 同时设置环境变量和Path变量 +++++++++++++++++++++++
init.bat 与 init-revert.bat 一起使用
+++++++++++++ 设置++++++++++++
(1) 双击 init.bat ,然后查看系统环境变量
结果:
这时候已经多出来了3个变量:CATALINA_HOME,JAVA_HOME,MAVEN_HOME
Path变量的值也在前面都加上了: %MAVEN_HOME%\bin;%CATALINA_HOME%\bin;%JAVA_HOME%\bin;
这些都是你之前在配置文件里面配置好的了。
+++++++++++++ 恢复 ++++++++++++
(2) 双击 init-revert.bat ,然后查看系统环境变量
结果:
可以看到上面的结果已经恢复到设置之前的状态了。
这里只是恢复到第一次设置之前的状态(如果有多次设置的话)。
+++++++++++++++++++ 只设置环境变量 +++++++++++++++++++++++
init-evar.bat 与 init-evar-revert.bat 一起使用
(1) 双击 init-evar.bat ,然后查看系统环境变量
结果:
这时候也多出来了3个变量:CATALINA_HOME,JAVA_HOME,MAVEN_HOME
但是Path变量是没有变化的。
(2) 双击 init-evar-revert.bat ,然后查看系统环境变量
结果:
恢复到设置之前的状态了,这里的设置只跟 环境变量 有关,跟Path无关。
这里也只是恢复到第一次设置的之前的状态(如果有多次设置的话)。
+++++++++++++++++++ 只设置Path变量 +++++++++++++++++++++++
init.-epath-bat 与 init-epath-revert.bat 一起使用
(1) 双击 init-epath.bat ,然后查看系统环境变量
结果:
环境变量没有变化,Path变量的值发生了变化,在前面添加了3个子路径。
(2) 双击 init-epath-revert.bat ,然后查看系统环境变量
结果:
Path变量的值被恢复了,这两个bat都文件都跟环境变量无关,
这里也只是恢复到第一次设置的之前的状态(如果有多次设置的话)。
注意事项
1. 运行 设置或恢复 的.bat文件之后,如果要去cmd查看 设置或恢复 的结果,
需要重新打开一次环境变量设置的窗口,然后点击确定按钮。
这样操作之后,然后打开 CMD 窗口,就能查看查看到正确的结果了。
(如果有哪位朋友知道为什么要这样操作,才能查看结果,麻烦转告一下,谢谢。
bat文件内部设置环境变量调用的是 wmic 命令 来设置环境变量的)
2. 上面的 xxx-revert.bat 恢复批处理文件,都只是恢复到第一次设置之前的状态,
如果你想 恢复 到任意次设置之前的状态,请参考如下操作:
(1) 通过 CMD 进入 bin 目录下:cd /d D:\Development\EnvironmentConfig\bin
(2) 执行 init.bat -help 查看帮助
上面演示的 :
init-revert.bat,
init-evar.bat 和 init-evar-revert.bat ,
init-epath.bat 和 init-epath-revert.bat
都是基于 init.bat 文件
执行 init.bat 默认就是执行:init.bat /vp
执行 init-revert.bat 就是执行:init.bat /vp r1
执行 init-evar.bat 就是执行:init.bat /v
执行 init-evar-revert.bat 就是执行:init.bat /v r1
执行 init-epath.bat 就是执行:init.bat /p
执行 init-epath-revert.bat 就是执行:init.bat /p r1
如果你要恢复到 任意 次设置之前的状态,就可以使用
r 参数后面的数字来表示,负数表示从后往前开始计算次数。
例如:
(1) 我要恢复 环境变量 到 上一次 设置之前的状态:
init.bat /v r-1
(2) 我要恢复 Path变量到 第二次 设置之前的状态:
init.bat /p r2
(3) 我要恢复 环境变量和Path变量 都到 上一次设置之前的状态:
init.bat /vp r-1
附件列表
https://github.com/zhangguangyong/codes.git