把批处理(bat)做成Windows服务(Server)

1、工具软件

  instsrv.exe 和 srvany.exe,下载:https://pan.baidu.com/s/1PI6qMjdVkuYyjRLokt7xRw 密码:fc1o

 

2、编辑 bat

bat代码示例:

@echo
:a
python transfer.py
ping 127.0.0.1 -n 60 >nul
goto a

 

3、命令方式增加服务

服务名称 暂拟为 Transfer,管理员权限下的cmd 命令,格式:instsrv.exe 服务名 srvany.exe

举例:D:\instsrv.exe Transfer D:\srvany.exe

 

 

 

4、修改服务参数

(1)打开注册表(win+r运行regedit)

查找路径:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Transfer 

(2)Transfer服务增加子 Parameters

(3)给子项 Parameters 增加两个字符串类型的参数 AppDirectory 和 Application,并指定参数值

本例中

AppDirectory = "D:\Coding\transfer"(程序所在文件主路径

Application = "D:\Coding\transfer\transfer.bat"(程序运行的bat路径

 

 

5、查看服务列表,并启动 Transfer 服务

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

 

 

6、移除相关服务

管理员权限下的cmd 命令,格式:instsrv.exe 服务名 remove

举例:D:\instsrv.exe Transfer remove

 

 

7、懒人必备

批处理实现服务自动增加和参数修改

拷贝一下内容,并按需修改路径和服务名,写入bat,执行下就好

@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权限

D:\instsrv.exe Transfer D:\srvany.exe
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Transfer\Parameters /v AppDirectory /d "D:\Coding\transfer" /t reg_sz /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Transfer\Parameters /v Application /d "D:\Coding\transfer\transfer.bat" /t reg_sz /f

参考资料

https://jingyan.baidu.com/article/cd4c29791c5a16756e6e60a7.html 

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值