记录:bat脚本批处理操作Windows服务(SC命令---安装、开启、配置、关闭 cmd命令行)
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
今天不知道脑子哪里搭错线路了,想搞一个软件的服务启动,后来发现毕竟要在桌面右下角显示,应该需要两个bat启动,这样就没有啥意义了,那也得把相关的知识点记录一下,后续想起来继续搞的话,再来翻阅;
windows服务
一、cmd命令行---进行Windows服务操作
1、安装服务
sc create 服务名 binPath= "D:\laoliang\laoliangDemo.exe"
注:服务名:指创建的Windows服务名
binPath:指Windows服务程序的路径
2、配置服务
sc config 服务名 start=AUTO
注:start=AUTO (自动)
start=DEMAND (手动)
start=DISABLED (禁用)
3、开启服务
net start 服务名
4、关闭服务
net stop 服务名
5、删除服务
sc delete 服务名
二、第一种:bat批处理---进行Windows服务操作
(新建一个txt文件,把后缀改成.bat文件)
1、创建、配置、开启服务
@echo.服务启动...... @echo off @sc create 服务名 binPath= "D:\laoliang\laoliangDemo.exe" @net start 服务名 @sc config 服务名 start= AUTO @echo off @echo.启动完毕! @pause
2、关闭服务
@echo.服务关闭 @echo off @net stop 服务名 @echo off @echo.关闭结束! @pause
3、删除服务(删除前要关闭服务)
@echo.服务删除 @echo off @sc delete 服务名 @echo off @echo.删除结束! @pause
二、第二种:bat批处理---进行Windows服务操作
1、安装脚本Install.bat
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\laoliangDemo.exe "D:\laoliang\laoliangDemo.exe" Net Start 服务名
sc config 服务名 start= auto pause
注:第一行:Window服务执行程序的路径
第二行:启动服务
第三行:设置服务自动运行
最后一行:暂停,可以查看运行信息
2、卸载脚本Uninstall.bat
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\laoliangDemo.exe /u "D:\laoliang\laoliangDemo.exe" pause
延伸阅读:
一般来说,批处理文件处理相对路径的时候,起始位置是bat文件所在的目录,比如在D:\XX目录下执行bat文件,所有相对目录的操作都会以D:\XX下执行。
但是有些命令需要管理员权限,右键选择以管理员身份运行时后,起始位置则为C:\Windows\system32,这时候往往不是我们所想要的,
一种解决解决办法是在批处理的行首加一句"cd D:\XX”进入该目录,以修改其当前位置,但这样需要在批处理文件中加入绝对路径,如果把bat文件移动到其它位置就无法使用了,此时一种更好的方式是用"cd /d %~dp0”代替"cd D:\XX”。
综上所述,在写bat文件的时候,不管是否需要用到管理员权限,最好在行首加一句"cd /d %~dp0",以统一文件的起始目录。
例如,Auto.bat处于文件夹d:\laoliang\下,以下为Auto.bat的内容
cd /d %~dp0
start laoliangDemo.exe
代表启动“D:\laoliang\laoliangDemo.exe”这个程序
安装的bat文件
@echo on color 2f mode con: cols=80 lines=25 @echo 请按任意键开始安装后台服务... pause cd /d %~dp0 Learn_Topshelf.exe install net start Stuff pause
卸载的bat文件
@echo on color 2f mode con: cols=80 lines=25 @echo 请按任意键开始卸载后台服务... pause cd /d %~dp0 Learn_Topshelf.exe uninstall pause
更延伸的阅读:
net stop "服务名称" 停止服务 net pause "服务名称" 暂停服务 net start "服务名称" 启动服务 ----------分割线-------------- sc config "服务名称" start= auto(自动) sc config "服务名称" start= demand(手动) sc config "服务名称" start= disabled(禁用) sc config "服务名称" start= delayed-auto(自动(延迟启动))
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!