REM 创建服务 echo off echo 即将开始采用nssm安装应用程序为windows服务,请确认以系统管理员身份运行 set servicename=自定义服务名称 REM %~dp0 为BAT脚本取当前系统目录命令,API_HOST.EXE为需要包装为服务的应用程序 set app_path="%~dp0程序.exe" set nssm_path="%~dp0nssm.exe" REM 将NSSM复制至系统盘目录,或者 添加 windows 环境变量亦可达到目的 set targetFolder="C:\windows\System32\nssm.exe" REM 检查NSSM.exe文件是否存在 echo 检查当前目录nssm.exe文件是否存在 if not exist %nssm_path% ( echo %nssm_path% 不存在,请确认 pause goto exitCode ) ) echo %nssm_path% 存在,即将检查文件并复制 REM 复制nssm if not exist %targetFolder% ( copy /y %nssm_path% %targetFolder% echo 复制nssm至windows系统目录完成 ) echo 即将创建服务 %servicename% echo ****************************************
REM 判断service 是否存在,若存在,先停止,至删除 echo 检查服务是否存在,存在则停止服务后删除,再安装 sc query|find /i "%servicename%" >nul 2>nul if not errorlevel 1 ( echo 服务已存在,停止运行服务 echo stop %servicename% REM NSSM停止服务命令:nssm stop <ServiceName> nssm stop %servicename% echo 开始移除服务 %servicename% echo remove service %servicename% REM NSSM删除服务命令:nssm remove <ServiceName> confirm REM 移除命令最后的 confirm 即表示无限弹窗确认,直接移除。 nssm remove %servicename% confirm echo 移除服务完成 )
echo ********************************* echo 开始创建服务 %servicename% REM NSSM命令:nssm install <服务名> <服务需要执行的程序> nssm install %servicename% %app_path% echo 开始设置服务信息 echo set service property echo 设置服务显示名称 REM nssm set <ServiceName> DisplayName <ServiceName> nssm set %servicename% DisplayName %servicename% echo 设置服务描述 REM nssm set <ServiceName> Description <ServiceName> nssm set %servicename% Description xxx控制系统 echo 设置服务启动方式为:自动 nssm set %servicename% Start SERVICE_AUTO_START echo ********************************* echo 启动服务 %servicename% echo start service %servicename% nssm start %servicename% echo 服务创建并启动完成
:exitCode pause
set servicename=自定义服务名称,这里的自定义服务名称改为你想要的名称 set app_path=“%~dp0程序.exe”,这里的程序.exe改为你的可执行文件名 %~dp0代表的是当前目录
右键关闭服务.bat-编辑:
1 2 3 4 5 6 7 8
@echo off @title 关闭服务 echo= 开始关闭服务! @echo off @sc stop 自定义服务名称 @echo off echo= 关闭服务结束! @pause
右键卸载服务.bat-编辑:
1 2 3 4 5 6 7 8 9
@echo off @title 删除服务 echo= 开始删除服务! @echo off nssm stop 自定义服务名称 nssm remove 自定义服务名称 confirm @echo off echo= 删除完成! @pause