最近需要调试数个jar包的启动服务,由于需要挨个执行java -jar,于是写了一个bat脚本一键执行多个jar包。
1 首先需要创建一个.bat文件
可以先新建一个记事本,然后将后缀名改为“.bat”,例如“start.bat”。
2 编辑内容
start cmd /k "cd/d D:\Users\Desktop\jar &&java -jar 01-eureka-0.0.1-SNAPSHOT-exec.jar cmd.exe"
start cmd /k "cd/d D:\Users\Desktop\jar &&java -jar 02-eureka-0.0.1-SNAPSHOT-exec.jar cmd.exe"
start cmd /k "cd/d D:\Users\Desktop\jar &&java -jar 03-redis-client-0.0.1-SNAPSHOT-exec.jar cmd.exe"
start cmd /k "cd/d D:\Users\Desktop\jar &&java -jar 09-elk-0.0.1-SNAPSHOT-exec.jar cmd.exe"
start cmd /k "cd/d D:\Users\Desktop\jar &&java -jar main-0.0.1-SNAPSHOT-exec.jar cmd.exe"
start 是用来启动一个应用的,使用方式为:start 程序名
cmd /k 表示cmd后面的命令执行完后不关闭窗口
cmd /c 表示执行完cmd命令后关闭命令窗口
关于@echo off 命令:
echo off 关闭其他命令的显示(但是不包括自身这条命令)
@echo off 关闭所有命令的显示(@关闭其后命令的显示)
如果需要关闭的话可以使用:
命令taskkill /f /t /im 加上要关闭的程序
@echo off
start cmd /k “taskkill /f /t /im java.exe &&taskkill /f /t /im cmd.exe”
此关闭方法对于一些单进程的程序有效,多进程的无效。
对于以上命令中的“&&taskkill /f /t /im cmd.exe”语句,本人也不太理解其作用,经过多次测试发现,是否加上此语句好像并没有什么影响。