【Java】bat批处理脚本实现 Java 环境的快速切换

前言

        由于我因为不同的工作,经常要切换 Java 环境,手动切换非常难受,所以就去学了一下怎么写 bat 脚本,实现环境的快速切换,现在就分享一下我的方法和代码吧。

bat手册:Bat文件的创建及其命令大全_伐尘的博客-CSDN博客_bat文件

bat基础

        虽然上面给了 bat 手册,但是作为保姆级教程分享,我打算写点写这个脚本所需的 bat 基础,当然如果你是从我的另一篇文章【Java】环境配置以及快速切换环境的技巧和方法 过来的,并且就只是想要代码,那么直接下面拿代码就行。

简介

bat文件,又称批处理文件,在DOS和Windows系统中,是一种可执行文件。

bat脚本编写

创建bat脚本,以及bat脚本调试的方法

        流程就是创建一个 txt 文本,然后写入代码,后缀改为bat,然后双击运行。

        但是这样调试起来很不方便,你必须改后缀为 txt ,然后修改代码,然后再改为 bat,如果运行出现错误,又要重新改回 txt...,当然如果你受得了可以这么做,但是受不了的话建议下载一个 VScode(或者其他轻量编译器),不需要任何环境,直接将bat文件拖入vsc就可以编写代码了,还可以运行调试(运行调试要配置过,但是你可以直接点击bat文件运行)。

bat基础代码

写bat代码,其实就是写DOS

下面的 rem 是bat的单行注释

rem 打印111
echo 111
​
rem 暂停
pause
​
rem 获取键盘输入
set /p name=请输入你的名字:
​
rem 输出name变量,bat脚本里变量外面要套%%
echo %name%
​
rem 声明变量
set a=1
​
rem 修改当前页面的编码格式为utf8,注意只有当前页面,这是临时的(其他编码有需要的话自己查)
chcp 65001
​
rem bat变量拼接(真就nm直接拼起来)
set a=1
set b=2
set c=%a%%b%
echo c
rem c=12
rem 字符串截取:使用固定的格式  %变量:~a,b%
​
rem bat转义字符
rem 对于%,直接写两个%%,表示一个“%”字符(别的转义自己查)
​
rem bat文件设置环境变量
rem SETX 永久设置用户环境变量
​
rem SETX /M 永久设置系统环境变量
​
rem SET 临时设置用户环境变量
​
rem SET /M  临时设置系统环境变量
​
rem 回显相关代码
@ 关闭单行回显
echo off 从下一行开始关闭回显
@echo off 从本行开始关闭回显。一般批处理第一行都是这个
echo on 从下一行开始打开回显
echo 显示当前是 echo off 状态还是 echo on 状态
​
rem ok了,其他的手册自己翻

        好的,我们现在对基础代码有点印象了,那么怎么实现 Java 环境的快速切换呢,其实方法是很多的,如果真正会写的话,怎么写都行。

扫描二维码关注公众号,回复: 14612342 查看本文章

两种情况

1、环境变量已经大体配置好,写bat脚本

2、环境变量没配置好,写bat脚本

        这里我只写第一种情况,环境变量配置好,写bat脚本。这种情况会很舒服,比较工整,代码逻辑也简单很多,那么环境变量怎么配置好呢?请参考我另一篇文章,【Java】环境配置以及快速切换环境的技巧和方法 直接跳到快速切换环境部分,然后照着我的系统变量的配置方法配置即可。

        那么下面就是bat脚本,给了注释,看懂的话就能理解了,第二种情况也就能写出bat脚本了。我个人还是倾向第一种情况,会对这个环境变量的理解更深。

bat脚本内容

下面的逻辑如果看不懂,一定要对照我上面的另一篇文章去看!!!

@echo off
​
rem 设置此脚本的编码为utf8
chcp 65001
​
rem 输入version
set /p version=请输入你要更改到的Java环境:
​
rem 提示用户
echo '正在尝试改变环境至 Java %version%'
​
set a="JAVA_HOME"%version%
rem 下面的两个%% 是转义字符,相当于一个"%"字符
set b=%%%a%%%
rem 设置环境变量 JAVA_HOME -> %b% 这里b说白了就是 %JAVA_HOME18% 或者其他的...字符串
setx /M JAVA_HOME "%b%"
​
pause

        直接复制到一个新的txt文件里,然后把后缀改成bat,但是注意:要右键以管理员身份运行!!!不然会报错,因为更改环境变量是需要管理员权限的!

运行结果

猜你喜欢

转载自blog.csdn.net/BrosyveryOK/article/details/126446472