首页 > 编程 > BAT > 正文

批处理版的SC

2020-07-26 20:37:40
字体:
来源:转载
供稿:网友
作者:netpatch
来源:邪恶八进制 中国

说明:
批处版――SC

首先要感谢zzzEVAzzz,这个批处程序就是根据他发布的《Do All in Cmd Shell》文中的资料编写而成!
原理就是根据INF文件的功能(关于inf文件的详细信息,可以参考DDK帮助文档。)加以自动化编写而成!
难度很低,偶只用了十来分钟就编写出了这个批处程序。(高手看了不要笑哦……)

具体用法:

安装服务语法为:
np 服务名 /a 服务显示名称 服务描述 启动类型 要添加成服务的程序地址 /s
例子:
例如我要安装一个名为test的服务,其服务的显示名为:This is test 服务描述为:experimentation 
要添加为服务的程序路径为c:/winnt/system32/test.exe 启动类型为:自动 并且安装后立即启动

首先把test.exe copy到c:/winnt/system32/
然后执行:
np test /a "This is test" experimentation 2 c:/winnt/system32/test.exe /s
执行后就会自动把test.exe安装为服务并立即启动!

卸载服务语法:
例如要卸载的服务名为 test的服务
则:
np text /x
回车后即可

注意事项:程序默认为只安装不立即启动!除非你在后面加上 /s 参数才会安装后立即启动!

请不要用此程序做非法之用!否则后果全部由使用者负责!
欢迎转载!
若要转载,请保持内容完整!谢谢!

附:批处理内容

复制代码 代码如下:
_content>@echo off 
cls 
color f2 
:go 
if "%1"=="" goto use 
if "%2"=="" goto use 
if "%2"=="/a" goto az 
if "%2"=="/x" goto xz 
:az 
if "%5"=="" goto use 
if "%6"=="" goto use 
echo [Version] >c:/az.inf 
echo Signature="$WINDOWS NT$" >>c:/az.inf 
echo [DefaultInstall.Services] >>c:/az.inf 
echo AddService=%1,,My_AddService_Name >>c:/az.inf 
echo [My_AddService_Name] >>c:/az.inf 
echo DisplayName=%3 >>c:/az.inf 
echo Description=%4 >>c:/az.inf 
echo ServiceType=0x10 >>c:/az.inf 
echo StartType=%5 >>c:/az.inf 
echo ErrorControl=0 >>c:/az.inf 
echo ServiceBinary=%6 >>c:/az.inf 
rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:/az.inf 
del c:/az.inf 
if "%7"=="" goto exit 
if "%7"=="/s" net start %1 
goto exit 
:xz 
net start|find "%1" >nul&&net stop %1 
echo [Version] >c:/xz.inf 
echo Signature="$WINDOWS NT$" >>c:/xz.inf 
echo [DefaultInstall.Services] >>c:/xz.inf 
echo DelService=%1 >>c:/xz.inf 
rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:/xz.inf 
del c:/xz.inf 
goto exit 
:use 
echo ****************************************************************************** 
echo ** 安装服务批处程序 ** 
echo ** ** 
echo ** 安装例子: ** 
echo ** ** 
echo ** np 服务名 /a 服务显示名称 服务描述 启动类型 要添加成服务的程序地址 ** 
echo ** 启动类型:0 系统引导时加载,1 OS初始化时加载 ** 
echo ** 2 由SCM(服务控制管理器)自动启动,3 手动启动,4 禁用。 ** 
echo ** ** 
echo ** 卸载例子: ** 
echo ** ** 
echo ** np 服务名 /x ** 
echo ** ** 
echo ** build by NetPatch (N/P) QQ:251592982 ** 
echo ** 2005-4-07 ** 
echo ****************************************************************************** 
cmd /k 
:exit
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表