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

前言

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

bat手册:https://blog.csdn.net/qq_43331089/article/details/124222342

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 环境的快速切换呢,其实方法是很多的,如果真正会写的话,怎么写都行。

两种情况

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,但是注意:要右键以管理员身份运行!!!不然会报错,因为更改环境变量是需要管理员权限的!

运行结果

 

posted @ 2022-08-21 00:41  br0sy  阅读(167)  评论(0编辑  收藏  举报