windows系统bat脚本转exe
0、使用场景
部署windows操作系统下的web服务或程序,从制作安装包到设置开启自启,如启动jar包和自动打开浏览器
createinstall(制作安装包)
、nssm(服务自开机自启)
、Quick Batch File Compiler(启动bat脚本编译工具)
1、下载Quick Batch File Compiler
链接:https://pan.baidu.com/s/1BoEkKgBIDTpD-2owR0D6TQ
提取码:5jzh
2、解压安装
3、示例:bat启动nginx,启动jar包,打开浏览器(自动全屏),默认访问站点http://localhost:9527
@echo off
for /f "skip=3 tokens=4" %%i in ('sc query Nginx') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="STOPPED" (goto startNginx)
:startNginx
net start Nginx
netstat -an|findstr 9443 >nul
if errorlevel 1 (
goto startEtm
)
:startEtm
set fileDir=D:\app\etm\
for %%f in (%fileDir%etm-*.jar) do (
start javaw -jar -Xms512m -Xmx1024m %%f
)
echo 启动工器具站端......
@echo off
netstat -an|findstr 1300 >nul
if errorlevel 1 (
goto startRev
)
:startRev
set fileDir=D:\app\rev\
for %%f in (%fileDir%receive*.jar) do (
start javaw -jar -Xms512m -Xmx1024m %%f
)
echo 启动数据处理......
@echo off
ping /n 30 127.1 >nul
tasklist| find /i "erl.exe"
if "%errorlevel%" == "1" start cmd /k "cd /d D:\app\emqx\emqx\bin&&emqx start&&exit"
@echo off
:check
netstat -an|findstr 9443 >nul
if errorlevel 1 (
echo 服务正在启动......
ping /n 10 127.1 >nul
goto check
) else (
echo 正在准备浏览器配置
ping /n 3 127.1 >nul
start tasklist|findstr /i "chrome.exe" ||start chrome.exe --start-fullscreen "http://localhost:9527"
exit
)
注意:如果程序找不到浏览器的路径在本地找到路径加上
start tasklist|findstr /i “chrome.exe” ||start C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe --start-fullscreen “http://localhost:9527”
4、转换
4、可以将需要执行的程序与脚本捆绑在一起,脚本中可以不用指定路径直接用
5、最后双击运行编译后的exe
6、使用nssm.exe
工具将这个exe做成开机自启程序
图标转换工具
https://www.bejson.com/ui/icomaker/
参考
原文:https://blog.csdn.net/qq_38776582/article/details/116148280
bat脚本添加到windows服务:https://blog.csdn.net/dan5600/article/details/129138579