Bat一键启动命令【完美】

1,364 阅读4分钟

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

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

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

1.bat脚本的制作新建TXT文件===> .txt改成.bat 如下图所示2.bat的启动命令bat一键启动多个应用程序脚本demo解释下命令:测试用例:(摘抄哈!!)

1.bat脚本的制作

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

创建很简单:

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

新建文件

image-20230325103015872.png

修改后缀

image-20230325103223099.png

image-20230325103330474.png

创建完成

image-20230325103523662

image-20230325103523662.png

2.bat的启动命令

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

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

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:表示关闭回显 只显示打印结果 就是显示路径名和不显示路径名以及命令行详细信息(什么??听不懂我说的牛马东西??? *直接看下图)

image-20230325111317959

image-20230325111317959.png

chcp 65001:防止中文乱码问题

image-20230325112153743.png

::或者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===============

好了~我是努力寻找真爱脱单的小爪哇!~~

AAB0D840EAC2F962992A82A2AE18F364.jpg