Board logo

标题: [帮忙改进]]批处理提取注册表services(驱动)的类型 [打印本页]

作者: junyee     时间: 2009-8-22 05:42    标题: [帮忙改进]]批处理提取注册表services(驱动)的类型

个人能力有限,只能写出这样的东西来了,,,

------------------------------------------------------------------------------------------------
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2,3,4,5 delims=\" %%i in (services.txt) do (
        set key=%%i\%%j\%%k\%%l\%%m
        set svc=%%m
        REM echo !key!  ,服务名为!svc!
        for /f "delims=" %%a in ('reg query "!key!\enum" /v 0 ') do (
                set /a ck+=1
                if !ck!==2 (
                        set key=%%a
                        set key=!key:   REG_SZ   =★!
                        REM  echo %%key%%被替换成!key!
                        for /f "tokens=1,2,3 delims=★" %%x in ('echo !key!') do (
                                set Rpl=%%y
                                for /f "tokens=1,2 delims=\" %%l in ('echo !Rpl!')  do (
                                        set Rpl=%%l                       
                                        if  not "%%l"=="" echo  `!svc!的类型是:%%l
                                )
                        )
                        set /a ck=0
                )
        )
)

pause
------------------------------------------------------------------------------------------------

其中services.txt由reg  query HKLM\system\controlset001\services >>Services.txt生成
目的是根据该文本,逐一分析,显示出驱动的类型

哪位高人来 帮忙改进一下,,,
问题很多啊
1、当找不到Enum\0键值时会提示找不到该键值,又不好做判断
2、当Enum\0键值含有&时会出错,这个看来很麻烦解决...


谢谢...

[ Last edited by junyee on 2009-8-22 at 05:46 ]
作者: slore     时间: 2009-8-22 06:00
为什么不用sc