jar.bat
- 注意保存是编码格式选择ANSI(cmd不会乱码)

- 如果想在 utf-8模式下编辑 那就在开头加入
CHCP 65001
如果配置了 log 并且默认存储在jar根目录下,那使用bat启动,日志文件可能回在bat所在的目录生成
所以 jar 时要写全路径 或则cd到 jar文件下 运行
- 直接jar启动时会在jar所在目录生成

start & stop.bat
```basicjar_stop_start.bat
rem CHCP 65001 @echo off @echo 先关闭进程 title xx color 0c rem 设置监听的端口号 set port=1256 rem 尽量写全路径 set jarName=test.jar echo port : %port% set PROJECT_PROPERTIES=prod rem -XX:+UseConcMarkSweepGC -XX:+UseParNewGC || -XX:+UseParallelGC -XX:+UseParallelOldGC set JAVA_OPTS= -Xms1024m set JAVA_OPTS= %JAVA_OPTS% -Xmx1024m -Xmn512m -XX:+UseParallelGC -XX:+UseParallelOldGC set JAVA_OPTS= %JAVA_OPTS% -Dfile.encoding=utf-8 set SERVER_PORT= —server.port=%port% set SERVER_PROPERTIES= —spring.profiles.active=%PROJECT_PROPERTIES%
for /f “usebackq tokens=1-5” %%a in (netstat -ano ^| findstr %port%) do (
if [%%d] EQU [LISTENING] (
set pid=%%e
)
)
for /f “usebackq tokens=1-5” %%a in (tasklist ^| findstr %pid%) do (
set image_name=%%a
)
echo now will kill process : pid %pid%, image_name %image_name% rem 根据进程ID,kill进程 taskkill /f /pid %pid% @echo %pid%的进程停止成功 @echo 启动%jarName% set curdir=%~dp0 cd /d %curdir% echo %curdir% java %JAVA_OPTS% -jar %jarName% %SERVER_PORT% %SERVER_PROPERTIES% pause
<a name="IuJEI"></a>## stop.bat```bashrem CHCP 65001@echo off@echo 根据端口关闭进程rem 设置监听的端口号rem set port=1256set /p port=端口号:echo port : %port%for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do (if [%%d] EQU [LISTENING] (set pid=%%e))for /f "usebackq tokens=1-5" %%a in (`tasklist ^| findstr %pid%`) do (set image_name=%%a)echo now will kill process : pid %pid%, image_name %image_name%rem 根据进程ID,kill进程taskkill /f /pid %pid%@echo %pid%的进程停止成功
start.bat
CHCP 65001@echo off@echo 先关闭进程title xxcolor 0crem 设置监听的端口号set port=1256rem 尽量写全路径set jarName=test.jarecho port : %port%set PROJECT_PROPERTIES=prodrem -XX:+UseConcMarkSweepGC -XX:+UseParNewGC || -XX:+UseParallelGC -XX:+UseParallelOldGCset JAVA_OPTS= -Xms1024mset JAVA_OPTS= %JAVA_OPTS% -Xmx1024m -Xmn512m -XX:+UseParallelGC -XX:+UseParallelOldGCset JAVA_OPTS= %JAVA_OPTS% -Dfile.encoding=utf-8set SERVER_PORT= --server.port=%port%set SERVER_PROPERTIES= --spring.profiles.active=%PROJECT_PROPERTIES%@echo 启动%jarName%set curdir=%~dp0cd /d %curdir%echo %curdir%java %JAVA_OPTS% -jar %jarName% %SERVER_PORT% %SERVER_PROPERTIES%pause
all_start.bat启动n个bat
写 (start jar_1.bat) bat的全路径,防止log文件夹乱生成
- 用于一个大的bat启动 n个bat ```basic @echo off set paths=C:\xx\jar
@echo 启动file cd /d %paths%\file start file-jar_start.bat
@echo 启动xx cd /d %paths%\swupl start xx-jar_start.bat
@echo 启动job ping -n 20 127.0.0.1>nul cd /d %paths%\etl start job-jar_start.bat
<a name="x1Qho"></a>## 自启说明- 把all_start.bat 复制一个到 `C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 目录下`,让他开机启动all_start.bat- **此方法重启后必须要登录进系统自启才生效**- `shell:startup 快速打开自启文件夹`- windows server 利用服务器管理器工具进行脚本自启- - - - - <a name="rIscn"></a># 参考资料```shellcd d: ##并不能切换到d盘,只是显示d:\目录cd d:\ ##不能切换到d盘,无动作cd /d d: ##切换到d盘根目录d: ##切换到d盘根目录@echo offecho 当前盘符:%~d0echo 当前盘符和路径:%~dp0echo 当前盘符和路径的短文件名格式:%~sdp0echo 当前批处理全路径:%~f0echo 当前CMD默认目录:%cd%pause
