当前位置:   article > 正文

win自启动jar包两种方式_windows jar包开机自启

windows jar包开机自启

方式一

将jar包做成exe服务,可以实现自启动的方式。

方式二

将jar使用bat脚本启动,再通过vbs脚本控制bat脚本后台启动,避免黑窗口的出现,进行开启自启动。

方式一:服务模式

  • 将下载到两个文件放到jar包所在的目录中

  • 重命名为和xxx.jar包同名的xxx.exe、xxx.xml两份文件

  • 编辑xxx.xml文件

<service><!-- 删除服务时的w唯一ID标识 --><id>xxx</id><!-- 展示在服务列表里的名字 --><name>xxx</name><!-- 简介 --><description>xxx微服务</description><!-- JAVA环境变量 --><envname="JAVA_HOME"value="%JAVA_HOME%"/><executable>java</executable><!-- JAVA启动命令参数 由 java -jar path 决定 --><arguments>-jar "%BASE%\xxx.jar"</arguments><!-- 开机启动 --><startmode>Automatic</startmode><!-- 日志配置路径 --><logpath>%BASE%\log</logpath><logmode>rotate</logmode></service>复制代码
  • 在当前目录中进入CMD黑窗口,执行xxx.exe install命令,这样服务中已经存在了

  • WIN+R输入services.msc,就可以看到以xxx名字命名的服务

  • CMD黑窗口其它命令

  1. ### 安装服务
  2. xxx.exe install
  3. ### 重启服务
  4. xxx.exe restart
  5. ### 停止服务
  6. xxx.exe stop
  7. ### 卸载服务
  8. xxxx.exe uninstall
  9. 复制代码
  • 到此为止,已完成服务自启动功能,以下是为了方便,也可以使用bat脚本启动

  • 启动服务,新建start.bat文件,并编辑内容

  1. @ECHO OFF
  2. setlocal EnableDelayedExpansion
  3. color 3e
  4. ### 黑窗口标题(仅注释,实际需要删除此内容)
  5. title xxx
  6. PUSHD %~DP0 & cd /d "%~dp0"
  7. %1 %2
  8. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
  9. :runas
  10. ### 安装服务命令(仅注释,实际需要删除此内容)
  11. xxx.exe install
  12. ### 启动服务命令(仅注释,实际需要删除此内容)
  13. net start xxx
  14. echo 执行完毕,任意键退出
  15. pause >nul
  16. exit
  17. 复制代码
  • 停止服务,新建stop.bat文件,并编辑内容

  1. @ECHO OFF
  2. setlocal EnableDelayedExpansion
  3. color 3e
  4. ### 黑窗口标题(仅注释,实际需要删除此内容)
  5. title xxx
  6. PUSHD %~DP0 & cd /d "%~dp0"
  7. %1 %2
  8. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
  9. :runas
  10. ### 停止服务命令(仅注释,实际需要删除此内容)
  11. net stop xxx
  12. ### 卸载服务命令(仅注释,实际需要删除此内容),是否需要卸载根据实际情况决定
  13. xxx.exe uninstall
  14. echo 执行完毕,任意键退出
  15. pause >nul
  16. exit
  17. 复制代码

方式二:脚本

  • 在jar包同级目录下新建start.bat和stop.bat文件,并编辑内容

  • 启动start.bat内容编辑

  1. :: 指定字符集utf-8
  2. chcp 65001
  3. @echo off
  4. title 准备启动设备驱动...................
  5. color 3E
  6. start javaw -Dfile.encoding=utf-8 -jar xxx.jar
  7. echo .
  8. echo ------------ 正在启动 --------------
  9. echo .
  10. :: 10秒后启动完成
  11. timeout /t 10
  12. echo .
  13. echo ------------ 启动成功 --------------
  14. echo .
  15. timeout /t 2
  16. exit
  17. 复制代码
  • 停止stop.bat内容编辑

  1. chcp 65001
  2. @echo off
  3. title 停止设备驱动
  4. color 3E
  5. taskkill -f -t -im javaw.exe
  6. echo .
  7. echo ------------停止成功!--------------------
  8. echo .
  9. timeout /t 5
  10. exit
  11. 复制代码
  • 到了这一步,其实就可以实现后台启动了,但是并非开机自启动。想要实现还需创建init.vbs脚本执行,避免开启自启动时出现黑窗口

  • 编辑init.vbs内容,最后的0表示cmd窗口隐藏运行,路径不要有中文

  1. set ws=WScript.CreateObject("WScript.Shell")
  2. ws.Run "目标路径\start.bat /start",0复制代码
  • 通过WIN+R输入shell:startup,打开win自启动文件夹目录

  • 最后,将init.vbs快捷方式直接放到自启动文件夹目录中,这样就可以实现开机自启动功能

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/76266
推荐阅读
相关标签
  

闽ICP备14008679号