0x00 批脚本(有窗口)
使用文本文档输入如下内容:
1 2 3 @echo off java -jar xxx.jar exit
保存为 deploy.bat文件,双击生成的bat脚本,服务启动成功。
注意: 该脚本会执行项目,但是不会关闭窗口,一旦关闭窗口,项目会关闭。
0x01 bat批处理脚本(后台运行,没有命令弹窗)
要想在后台执行该jar,需要以下脚本:
1 2 3 4 @echo off set JAR_HOME=%~dp0start javaw -jar %JAVA_HOME%\xxx.jar exit
注意:该脚本适用于启动脚本和jar包在同一目录的时候。
其中,jar包位置需要绝对路径,不然有可能会报错:“Unable to access jarfile”
将脚本更名为 deploy.bat,执行即可后台启动该项目。
0x02 关闭项目
根据启动项目的端口号,查看端口进程,杀死进程
1 netstat -ano | findstr 8888
1 tasklist | findstr “pid”
0x03 bat批处理文件的多样化
单次启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 @echo off set port=8888for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do ( if [%%d] EQU [LISTENING] ( set pid=%%e ) ) if "%pid%" == "" goto startif not "%pid%" == "" goto run:run echo %port% (采集程序运行中)port is opening...pause exit :start echo (开始启动采集程序)starting collect program...java -jar D:\program\xxx-0.0.1-SNAPSHOT.jar echo Starting Success!exit
1 2 set ws=WScript.CreateObject ("WScript.Shell" ) ws.Run "F:\tianjin\tianjin\tj_collect_data.bat /start" ,0
关闭项目
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @echo off SET port=8888 for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do ( if [%%d] EQU [LISTENING] ( set pid=%%e ) ) echo close : %port% %pid%if not "%pid%" == "" taskkill /f /pid %pid% echo startPING 127.1 -n 5 >nul java -jar D:\work-zakj\hwariot-mix-service\build\libs\hwariot-mix-service-0.0.1-SNAPSHOT.jar exit