标题: 帮组看下一个网银盾的批处理 [打印本页]
作者: cyhong 时间: 2011-1-18 17:25 标题: 帮组看下一个网银盾的批处理
建行的网银盾安装后,有一个自动启动服务WDMonitorCCB和一个自动启动程序WDCertM_CCB.exe,由于网银盾不常用,请人写了个批处理,以关闭这两个东西,请各位给修正一下,
- @echo off
- :TopStart
- Cls
- @echo 启动/关闭网银盾
- @echo.
- @echo.
- @echo.
- @echo. 1 关闭
- @echo.
- @echo.
- @echo. 2 开启
- @echo.
- @echo.
- @set /p choice=请选择相关操作(1,2):
- @if /I %choice% == 2 goto dakai
- @if /I %choice% == 1 goto guanbi
- goto TopStart
- :dakai
- ::打开
- sc config WDMonitorCCB start= auto
- sc start WDMonitorCCB
- REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v wdcertm_ccb /t REG_SZ /d "\"C:\WINDOWS\system32\WatchData\Watchdata CCB CSP v3.2\WDCertM_CCB.exe"" /f
- start "" "C:\WINDOWS\system32\WatchData\Watchdata CCB CSP v3.2\WDCertM_CCB.exe"
- goto :eof
- :guanbi
- ::结束
- sc config WDMonitorCCB start= disabled
- sc stop WDMonitorCCB
- tasklist|find /i "WDCertM_CCB.exe"
- IF %ERRORLEVEL% == 0 ntsd -c q -pn WDCertM_CCB.exe
- ::TASKKILL /IM WDCertM_CCB.exe /F
- REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v wdcertm_ccb /f
- goto :eof
-
-
复制代码
作者: Batcher 时间: 2011-1-18 17:58
你希望修正什么地方?
作者: hanyeguxing 时间: 2011-1-18 18:16 标题: 回复 1楼 的帖子
reg add 一句中存在错误:- @echo off
- set b=WDMonitorCCB
- set w=wdcertm_ccb
- set "r=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
- set "d=%wndir%\system32\WatchData\Watchdata CCB CSP v3.2\%w%.exe"
- :TopStart
- Cls
- echo 启动/关闭网银盾
- echo.
- echo.
- echo.
- echo. 1 关闭
- echo.
- echo.
- echo. 2 开启
- echo.
- echo.
- set/p choice=请选择相关操作(1,2):
- for %%a in (1 2) do if "%%a"=="%choice%" goto:%%a
- goto :TopStart
- :2:打开
- sc config %b% start= auto
- sc start %b%
- reg add "%r%" /v %w% /d "\"%d%\"" /f
- start "" "%d%"
- goto:eof
- :1:结束
- sc config %b% start= disabled
- sc stop %b%
- reg delete "%r%" /v %w% /f
- taskkill /im %w%.exe /f
复制代码
更好的方法就是依靠服务的启动或程序状态来判断操作需要
[ 本帖最后由 hanyeguxing 于 2011-1-18 18:18 编辑 ]
作者: cyhong 时间: 2011-1-18 18:16
只是想问问有什么地方可以修改的更好
作者: hanyeguxing 时间: 2011-1-18 18:24
每运行一次就切换一次状态:- @echo off
- set b=WDMonitorCCB&set w=wdcertm_ccb
- set "r=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
- set "d=%windir%\system32\WatchData\Watchdata CCB CSP v3.2\%w%.exe"
- reg query "%r%" /v %w% >nul 2>nul&&(
- echo 当前状态:已启用,按任意键进行关闭&pause>nul
- sc config %b% start= disabled
- sc stop %b%
- reg delete "%r%" /v %w% /f
- taskkill /im %w%.exe /f
- goto:eof
- )
- echo 当前状态:已关闭,按任意键进行启用&pause>nul
- sc config %b% start= auto
- sc start %b%
- reg add "%r%" /v %w% /d "\"%d%\"" /f
- start "" "%d%"
复制代码
[ 本帖最后由 hanyeguxing 于 2011-1-19 19:17 编辑 ]
作者: cyhong 时间: 2011-1-19 19:05
年关了,比较忙,没及时回复
出现这个。
[attach]3384[/attach]
作者: cyhong 时间: 2011-1-19 19:06
原帖由 hanyeguxing 于 2011-1-18 18:24 发表
每运行一次就切换一次状态:@echo off
set b=WDMonitorCCB&set w=wdcertm_ccb
set "r=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
set "d=%wndir%\system32\WatchData\Watchdata CCB CSP v3.2\%w%.exe" ...
[attach]3385[/attach]
作者: hanyeguxing 时间: 2011-1-19 19:16
不好意思,%wndir%变量中少打了一个i,应该是%windir%,已修改
作者: cyhong 时间: 2011-1-19 19:16
%wndir%
中间少了
i
作者: cyhong 时间: 2011-1-19 19:19
版主,真快,我刚发现,您就回复了
感谢版主
作者: cyhong 时间: 2011-1-20 08:21
关于是否“已启用”好像是以检测自动启动项是否存在为依据的,
如果换成检测服务是否启动和程序是否运行为依据则更好。。。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |