Bat一键启动多个程序和命令【详细总结】
Hello!
忙了好久,最近挺忙的,不知不觉已经来到星期六了,博客好久也没发文了,恰好自己最近来开机总是手动点击启动许多服务和命令,好麻烦(
懒人思想~哈哈
),我就思考着windows
有没有像Linux
系统一样的批处理脚本,只要一键就可以启动呢?好家伙!!搜了搜,有个
bat
的批处理系统,好了,说了半天的废话了,来~进入正题.
文章目录
- 1.`bat`脚本的制作
- 2.`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%
::启动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的标题 |
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 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===============