Board logo

标题: [文本处理] 请问批处理如何取注册表项名称 [打印本页]

作者: chyichin    时间: 2009-8-21 10:17     标题: 请问批处理如何取注册表项名称

我想提取注册表:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\ 下面所有项的名称(只要前8位的数据)到文本,请问如何写命令?
作者: chyichin    时间: 2009-8-21 10:22

我有以下代码,是补丁自动检测安装的批处理,但是与注册表校对的时候,注册表项有的带 "-v2",比对不成功,我想提取注册表的项值不就好比对了吗?
@echo off
cls
echo ================================================
dir *-kb*.exe /b /o:n >list1.log
for /f "delims=- tokens=2" %%i in (list1.log) do REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\%%i" || dir /b *%%i*.exe >>list.log
echo 现在开始安装补丁
for /f "eol=o eol=O " %%j in (list.log) do echo 正在安装补丁%%j && %%j /quiet /norestart
echo 恭喜你,补丁程序安装完毕
echo 安装了的补丁(list.log):& type list.log | more
pause
del list1.log /q
set /p YN=是否重新启动电脑,以使更改立即生效,强烈建议重新启动电脑[Y/N]?
if "%YN%" == "N" goto :EOF
if "%YN%" == "n" goto :EOF
shutdown -r -t 0
goto :EOF

作者: cjiabing    时间: 2009-8-21 12:17

好像是这样吧:
  1. @echo off
  2. reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\"  /s
  3. pause
复制代码
后面的参数是/s,如果不行你就换/v。
/v  查询特定注册表项
       ValueName  所选项下的要查询的值的名称
           省略时,该项下的所有值都会得到查询
/ve        查询默认值或空白值名称<no name>
/s         查询所有子项和值
作者: jay_16    时间: 2011-4-13 21:18

???????不太理解




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2