Bat一键启动多个程序和命令【详细总结】

admin 3071

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%

::启动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用于调用其他程序,如可执行文件*.exeset /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===============