windows bat脚本注册成服务

windows bat脚本注册成服务

絮叨:最近在使用derby数据库编写项目,但是单机版本只能当前项目连接derby,想要工具连接项目中的derby只能开启网络版模式,网络版模式服务启动方式是个bat脚本,每次都要打开黑窗口很是麻烦,就想把startNetworkServer.bat这个脚本注册到服务中,说干就干。
windows bat脚本注册成服务_第1张图片

1.sc命令

这里需要用管理员角色启动doc命令窗口:

创建服务:sc create 服务名 binPath= 脚本路径.bat start=auto(注意binPath后有个空格)
删除服务:sc delete 服务名

windows bat脚本注册成服务_第2张图片
在这里插入图片描述

看到success激动的雅痞,打开服务列表,也出现了aBat服务,但是状态竟然没启动???
怀着激动的心情点击启动:错误1053 服务没有及时响应启动或控制请求????
windows bat脚本注册成服务_第3张图片

windows bat脚本注册成服务_第4张图片
gg game over了

2.srvany

上面方法行不通嘛,换个方法,继续百度,找到了srvany注册服务工具,这里直接干货
1.准备要注册的bat脚本

此处省略

2.命令方式增加服务

服务名称暂拟为 derbyServer  因为就是为我的derby数据库注册服务 ,管理员权限下的cmd 命令,格式:instsrv.exe 服务名 srvany.exe

举例:D:\instsrv.exe derbyServer  D:\srvany.exe  (d:\取代你的这两个脚本路径)

3.修改服务参数

(1)打开注册表(win+r运行regedit)
查找路径:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/derbyServer  
(2)derby服务增加子项 Parameters
(3)给子项 Parameters 增加两个字符串类型的参数 AppDirectory 和 Application,并指定参数值
本例中
	AppDirectory = "D:\Coding\derby"(程序所在文件主路径)
	Application = "D:\Coding\derby\derbyServer.bat"(程序运行的bat路径)

4.查看服务列表,并启动 derby 服务

查看服务列表(win+r运行services.msc),启动 derby  服务

windows bat脚本注册成服务_第5张图片
5.移除服务
管理员权限下的cmd 命令,格式:instsrv.exe 服务名 remove

举例:D:\instsrv.exe derbyServer remove

懒人必备

@echo off
echo 获取Administrator权限
cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nul
if %errorlevel%==0 goto Admin
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs"
echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%\getadmin.vbs"
echo WScript.Quit >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" /f
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
exit

:Admin
echo 成功取得Administrator权限

C:\Users\xu\Downloads\Compressed\srvany\instsrv.exe derby C:\Users\xu\Downloads\Compressed\srvany\srvany.exe

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aimaService3\Parameters
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\derby\Parameters /v AppDirectory /d "D:\java\derby\db-derby-10.14.2.0-bin\bin" /t reg_sz /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\derby\Parameters /v Application /d "D:\java\derby\db-derby-10.14.2.0-bin\bin\startNetworkServer.bat" /t reg_sz /f

懒人必备 上面脚本修改下面三处:
windows bat脚本注册成服务_第6张图片
附加 instsrv.exe 和 srvany.exe工具下载:

链接:https://pan.baidu.com/s/1llOb5OJuMJt2-PNCHuC3FA 
提取码:1111

你可能感兴趣的:(windows,脚本语言)