Board logo

标题: [注册表类] 批处理如何获取注册表 按某个关键词查找键值 下的所有注册表项名称 [打印本页]

作者: amio555    时间: 2023-10-27 17:20     标题: 批处理如何获取注册表 按某个关键词查找键值 下的所有注册表项名称

如:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall   项下有很多子项 ,我想获取到所有这些子项的名称,但是有条件需要以键值名称“DisplayName” 来查到某个关键字 如 “Microsoft” 所匹配的所有项名称
作者: jyswjjgdwtdtj    时间: 2023-10-27 19:30

注册表程序里能直接查吧 似乎
作者: /zhqsystem/zhq    时间: 2023-10-28 22:05

应该是这种的吧,详细的自己在过滤一遍
for /f "delims=" %%i in ('Reg.exe Query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s /f "DisplayName"')do (
   Reg.exe Query "%%i">nul 2>nul&&for /f "delims=" %%j in ('Reg.exe Query "%%i" /v "DisplayName" /f "Microsoft"')do (
    echo,%%j
   )
)
作者: amio555    时间: 2023-10-29 18:19

回复 3# /zhqsystem/zhq


    我修改了一下基本能够达到我想要的结果,

for /f "tokens=*" %%i in ('Reg.exe Query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s /f "DisplayName"')do (
   ReG.exe Query "%%i">nul 2>nul&&for /f "tokens=9" %%j in ('REg.exe Query "%%i" /v Displayname ^| findstr /i /c:"microsoft"')do (
    echo,%%i >> 6666.txt
   )
)
pause

现在输出的是HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{90120000-0015-0804-0000-0000000FF1CE}
而我想要的只是 {90120000-0015-0804-0000-0000000FF1CE} 这部分,能帮我修改一下吗?




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