Hello!
忙了好久,最近挺忙的,不知不觉已经来到星期六了,博客好久也没发文了,恰好自己最近来开机总是手动点击启动许多服务和命令,好麻烦(
懒人思想~哈哈
),我就思考着windows
有没有像Linux
系统一样的批处理脚本,只要一键就可以启动呢?好家伙!!搜了搜,有个
bat
的批处理系统,好了,说了半天的废话了,来~进入正题.
文章目录
- 1.`bat`脚本的制作
- 新建`TXT`文件===> `.txt`改成`.bat` 如下图所示
- 2.`bat`的启动命令
- 这边就是本文的核心内容了,你也需要知道一些`bat`命令
- `bat`一键启动多个应用程序脚本`demo`
- 解释下命令:
- `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 `:
- `del`标识符可以删除文件,自行测试
- 测试用例:(摘抄哈!!)
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%::启动ideaecho IDEA STARTstart /d "C:/soft/idea/IDEA2022/bin" idea64.exe::启动不同磁盘路径的bat文件echo VS_coderem 切换到c盘c:cd C:/Users/AppData/Local/Programs/Microsoft VS Codestart "VS_code启动" cmd /k call vs_code.bat::启动nacosecho nacosrem 切换到d盘d:cd D:/soft/nacos/binstart "nacos" cmd /k call nacos_start.bat::启动相应的jar包echo tstJar start d:cd D:/projects/jarjava -jar test.jar::也可以用exit,是直接关闭退出pause
解释下命令:
总纲:
属性 | 意思 |
---|---|
echo | 输出字符串 就是和java 中的System.out.println() 打印输出差不多 |
@echo off | 只显示打印结果 |
chcp 65001 | 防止中文乱码 |
title | 标识符,用来设置dos的标题 |
pause | dos界面暂停关闭 |
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 offtitle this is a test :fun_main set curdir=%~dp0test1/ dir /b %curdir%>nul pause goto :eof rem===============>> 重定向符号 可以将结果输出到文件中@echo offtitle this is a test :fun_main set curdir=%~dp0test1/ dir /b %curdir%>>testaa.txt pause goto :eofrem===============字符串删除所有空格@echo offtitle this is a test :fun_main set teststr=213123 hello world set teststr=%teststr: =% echo %teststr% pause goto :eofrem===============copy标识符可以复制文件或者文件夹@echo offtitle this is a test :fun_main copy ./test.txt ./aa/ >nul pause goto :eofrem===============del标识符可以删除文件@echo offtitle this is a test :fun_main del /f /s /q test.txt >nul pause goto :eofrem===============字符串截取@echo offtitle this is a test :fun_main set teststr=*213123 hello world## echo %teststr% set teststr=%teststr:~1,-1% echo %teststr% pause goto :eofrem===============读取dos输入,这里需要用到set标识符,还有参数/p@echo offtitle this is a testset /p inp=请输入:echo %inp%pauserem===============rem===============rem===============rem===============rem===============