Windows bat 脚本设计-开机自启动服务的方法、bat 调用另外的 bat 脚本 -没有java环境也能运行jar,在不安装jdk下如何运行jar包

目录

  • [一、start.bat 启动服务 bat 脚本代码设计 && 没有java环境也能运行jar,在不安装jdk下如何运行jar包](#一、start.bat 启动服务 bat 脚本代码设计 && 没有java环境也能运行jar,在不安装jdk下如何运行jar包)
  • [二、关闭 bat 启动的服务](#二、关闭 bat 启动的服务)
  • [三、Windows 开机自启动服务的方法](#三、Windows 开机自启动服务的方法)
  • [四、bat 调用另外的 bat 脚本](#四、bat 调用另外的 bat 脚本)
  • 参考链接

一、start.bat 启动服务 bat 脚本代码设计 && 没有java环境也能运行jar,在不安装jdk下如何运行jar包

编写启动脚本start.bat

以 Java 为例

  1. 首先把jdk下的jre拷贝出来,然后将 jre 改名为 lib
  2. 使用相对路径下的 java 编译器
  3. bat 文件内命令中配置输出日志到 test.log

@echo off 的意思是在批处理运行命令的时候不会一条一条的显示执行的命令,与之相匹配的还有@echo on@echo off@echo on 前者为关闭回显,后者为打开回显

当不想批处理文件中的命令一行一行在DOS中显示出来时(因为全部显示出来的话看起来会变得很杂乱),可以使用@echo off,将其放于程序的最上方就行了。

> 是覆盖
>> 是追加

/b 启动应用程序而不打开新的命令提示符窗口。 除非应用程序启用了 CTRL + C 处理,否则将忽略 CTRL + C 处理。 使用 CTRL + BREAK 中断应用程序。

exit 执行完毕就退出

注:javaw.exe启动不会显示控制台内容,java.exe启动会显示控制台内容

bash 复制代码
@echo off
start /b ./lib/bin/javaw.exe -jar test.jar >> test.log
exit

二、关闭 bat 启动的服务

编写停止脚本 stop.bat

注:set port=8099是项目的端口号,如下图所示:

bash 复制代码
@echo off
set port=8099
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /pid %%m -t -f
exit

三、Windows 开机自启动服务的方法

Windows学习总结(26)------ Windows 服务开机自启动的四种方式

Windows设置程序开机自启动的几种方法

四、bat 调用另外的 bat 脚本

  1. 若要从另一个批处理程序运行 test2.bat 程序,请在父批处理程序中键入以下命令:

test1.bat 内容:

bash 复制代码
call test2
  1. 如果父批处理程序接受两个批处理参数并且您希望将这些参数传递到 test2.bat,请在父批处理程序中键入以下命令:

test1.bat 内容:

bash 复制代码
call test2 %1 %2

参考链接

bat批处理里的@echo off是什么意思?作用是什么!

Windows批处理命令:start、call 的区别

jar添加jre运行环境,电脑没有安装jdk也可以运行

【震惊】没有java环境也能运行jar,在不安装jdk下如何运行jar包

相关推荐
tuokuac1 小时前
maven与maven-archetype-plugin版本匹配问题
java·maven
ankleless1 小时前
Spring Boot 实战:从项目搭建到部署优化
java·spring boot·后端
野生技术架构师2 小时前
2025年中高级后端开发Java岗八股文最新开源
java·开发语言
静若繁花_jingjing2 小时前
JVM常量池
java·开发语言·jvm
David爱编程3 小时前
为什么线程不是越多越好?一文讲透上下文切换成本
java·后端
A尘埃3 小时前
Redis在地理空间数据+实时数据分析中的具体应用场景
java·redis
csxin3 小时前
Spring Boot 中如何设置 serializer 的 TimeZone
java·后端
杨过过儿3 小时前
【Task02】:四步构建简单rag(第一章3节)
android·java·数据库
青云交3 小时前
Java 大视界 -- Java 大数据分布式计算在基因测序数据分析与精准医疗中的应用(400)
java·hadoop·spark·分布式计算·基因测序·java 大数据·精准医疗
荔枝爱编程3 小时前
如何在 Docker 容器中使用 Arthas 监控 Java 应用
java·后端·docker