Hello!忙了好久,最近挺忙的,不知不觉已经来到星期六了,博客好久也没发文了,

恰好自己最近来开机总是手动点击启动许多服务和命令,好麻烦(懒人思想~哈哈),我就思考着windows有没有像Linux系统一样的批处理脚本,只要一键就可以启动呢?

好家伙!!搜了搜,有个bat的批处理系统,好了,说了半天的废话了,来~进入正题.

1.bat脚本的制作

首先解释下,bat就是一个windows脚本命令执行文件

创建很简单:

新建TXT文件===> .txt改成.bat 如下图所示

新建文件

在这里插入图片描述

修改后缀

在这里插入图片描述

创建完成

在这里插入图片描述

2.bat的启动命令

这边就是本文的核心内容了,你也需要知道一些bat命令

嗯!~有的小伙伴说,先让我实现功能,让我看到一键启动效果,哪些啥命令的我后面细细看

好嘞好嘞!!,下面的这个demo就是很详细的哈!!~粘贴复制即可

bat一键启动多个应用程序脚本demo

::关闭回显
@echo off
::防止中文乱码
chcp 65001  
::设置dos窗口的命令
title 一键启动多个脚本和程序demo

::set param1=hello
::set param2=world
::echo %param1%%param2%

::显示当前磁盘路径命令行
echo  %cd%
::启动idea
echo IDEA START
start /d  "C:\soft\idea\IDEA2022\bin" idea64.exe

::启动不同磁盘路径的bat文件
echo  VS_code
rem 切换到c盘
c:
cd C:\Users\AppData\Local\Programs\Microsoft VS Code
start "VS_code启动" cmd /k call vs_code.bat

::启动nacos
echo  nacos
rem 切换到d盘
d:
cd  D:\soft\nacos\bin
start "nacos"  cmd /k call nacos_start.bat

::启动相应的jar包
echo tstJar start 
d:
cd  D:\projects\jar
java -jar test.jar

::也可以用exit,是直接关闭退出
pause

解释下命令:

总纲:

属性意思
echo输出字符串 就是和java中的System.out.println()打印输出差不多
@echo off只显示打印结果
chcp 65001 防止中文乱码
title标识符,用来设置dos的标题
pausedos界面暂停关闭
rem::注释作用
cls清屏作用
start用于调用其他程序,如可执行文件*.exe
set /p 变量=提示语等dos输入命令
/k打开新窗口
/d默认这个目录当作是默认目录 和 相对路径差不多
/min启动新的最小化窗口
/max 启动新的最大化窗口
/wait 启动应用程序,并等待其结束
/b 启动应用程序时不必打开新的“命令提示符”窗口
call可以用于调用函数,也可以调用别的bat脚本
goto可用于函数跳转
goto :eof停止往下继续执行命令行
del标识符可以删除文件
copy标识符可以复制文件或者文件夹
>nul是将结果抛弃
echo: 输出字符串 就是和java中的System.out.println()打印输出差不多
@echo off:表示关闭回显 只显示打印结果 就是显示路径名和不显示路径名以及命令行详细信息(什么??听不懂我说的牛马东西???*直接看下图)

在这里插入图片描述

chcp 65001 :防止中文乱码问题

在这里插入图片描述

::或者rem:表示注释的作用 和java//双斜杠起注释的作用差不多
start "nacos" cmd /k call nacos_start.bat
/k: 表示新窗口打开
call: 表示执行.bat文件
cd:选择的作用
pause: 作用是将dos界面暂停关闭
exit: 窗口直接退出关闭
%cd% 或者 %~dp0: 打印当前路径
/b :
  • 启动应用程序时不必打开新的“命令提示符”窗口。
  • 除非应用程序启用 CTRL+C,否则将忽略 CTRL+C 操作。使用 CTRL+BREAK 中断应用程序。 ­
del标识符可以删除文件,自行测试
  • del /f :强制删除只读文件
  • del /s :从所有的目录下删除指定文件
  • del /q: 安静模式

测试用例:(摘抄哈!!)

rem=========>nul 命令意思是将结果抛弃
@echo off
title this is a test
 
:fun_main
	set curdir=%~dp0test1\
	dir /b %curdir%>nul
	pause
	goto :eof
	
rem===============>> 重定向符号 可以将结果输出到文件中
@echo off
title this is a test
 
:fun_main
	set curdir=%~dp0test1\
	dir /b %curdir%>>testaa.txt
	pause
	goto :eof


rem===============字符串删除所有空格
@echo off
title this is a test
 
:fun_main
	set teststr=213123 hello world
	set teststr=%teststr: =%
	echo %teststr%
	pause
	goto :eof
rem===============copy标识符可以复制文件或者文件夹
@echo off
title this is a test
 
:fun_main
	copy .\test.txt .\aa\ >nul
	pause
	goto :eof
rem===============del标识符可以删除文件
@echo off
title this is a test
 
:fun_main
	del /f /s /q test.txt >nul
	pause
	goto :eof

rem===============字符串截取
@echo off
title this is a test
 
:fun_main
	set teststr=*213123 hello world##
	echo %teststr%
	set teststr=%teststr:~1,-1%
	echo %teststr%
	pause
	goto :eof
rem===============读取dos输入,这里需要用到set标识符,还有参数/p
@echo off
title this is a test
set /p inp=请输入:
echo %inp%
pause
rem===============
rem===============
rem===============
rem===============
rem===============
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐