Windows 下启动 jar 后隐藏cmd 窗口

编写BAT脚本文件如下

  • 方法一
bat 复制代码
@echo off
# 获取当前执行脚本的目录
set jarPath=%~dp0
# 使用 javaw 启动一个jar
start javaw -jar %jarPath%xxx.jar
  • 方法二
bat 复制代码
@echo off
# 获取当前执行脚本的目录
set jarPath=%~dp0
# 使用vb脚本方式处理 cmd 窗口
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
# 使用 java 启动一个jar
java -jar %jarPath%xxx.jar >log.log 2>$1 &
exit

关闭java进程脚本

bat 复制代码
@echo off
# 设置要终止的java 程序名称(通常是jar包名称)
set appName=xxx
# 通过 jps 命令找到相关 jar 程序的进程 id
for /F %%i in ('jps ^| findstr %appName%') do (set p=%%i)
# 终止找到的进程id
taskkill /f /pid %p%
# 打印信息
echo 'kill %appName%'

参考资料

bat/cmd将命令执行的结果赋值给变量
Windows启动和停止jar包命令
windows 批处理文件bat中当前目录。
java 与 javaw 区别

相关推荐
仟濹9 分钟前
【Java加强】1 异常 | 打卡day1
java·开发语言·python
AllData公司负责人20 分钟前
【亲测好用】实时开发平台能力演示
java·c语言·数据库
pcm12356721 分钟前
设计C/S架构的IM通信软件(3)
java·c语言·架构
咖啡啡不加糖35 分钟前
Grafana 监控服务指标使用指南:打造可视化监控体系
java·后端·grafana
€81138 分钟前
Java入门级教程26——序列化和反序列化,Redis存储Java对象、查询数据库与实现多消费者消息队列
java·拦截器·序列化和反序列化·数据库查询·redis存储java对象·多消费者消息队列
多多*1 小时前
Mysql数据库相关 事务 MVCC与锁的爱恨情仇 锁的层次架构 InnoDB锁分析
java·数据库·windows·sql·oracle·面试·哈希算法
LateFrames1 小时前
“蚯蚓涌动” 的屏保: DirectX 12 + ComputeSharp + Win32
windows·ui·gpu算力
cyforkk1 小时前
15、Java 基础硬核复习:File类与IO流的核心逻辑与面试考点
java·开发语言·面试
李少兄1 小时前
解决 org.springframework.context.annotation.ConflictingBeanDefinitionException 报错
java·spring boot·mybatis
大飞哥~BigFei1 小时前
整数ID与短字符串互转思路及开源实现分享
java·开源