BAT:获取注册表的值

您所在的位置:网站首页 不能读取注册表键值 BAT:获取注册表的值

BAT:获取注册表的值

2024-05-28 12:00| 来源: 网络整理| 查看: 265

应用场景

学习过程中遇到需要获取某注册表的场景:根据注册表的位置获取特定项的值。本文以钉钉为例。

实现过程 找到注册表的位置

钉钉注册表的位置为:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\钉钉 获取该位置下的某个注册表项

我们需要获取UninstallString项 在这里插入图片描述 对应的BAT语句为,/v之前为注册表的位置,/v之后为所需要的的注册表项。 REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\钉钉" /v "UninstallString" 输出如下: 在这里插入图片描述

获取该项的值

此时我们已经找到了该项,接下来需要输出该项的值。可以看到输出了两行内容,一行为注册表位置,一行为注册表项。获取注册表值的BAT语句为:

@echo off Setlocal enabledelayedexpansion for /f "skip=1 delims=: tokens=1,*" %%i in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\钉钉" /v "UninstallString"') do ( set str=%%i set var=%%j set "var=!var:"=!" if not "!var:~-1!"=="=" set value="!str:~-1!C:!var!" ) echo %value% pause

该语句的输出为: 在这里插入图片描述 注:输出结果如果不要引号最后一句可改为

if not "!var:~-1!"=="=" set value=!str:~-1!C:!var! 扩展内容

判断注册表值是否存在。

@echo off reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\钉钉 >nul 2>nul&&goto A||goto B :A echo 存在 pause exit :B echo 不存在 pause exit pause

个人能力有限,如有谬误欢迎指正!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3