BAT:获取注册表的值

本文详细介绍了如何通过BAT命令在Windows系统中定位钉钉的注册表路径,获取UninstallString项的值,并提供了一个判断注册表项是否存在的方法。适合IT技术人员理解和实践Windows注册表管理。
摘要由CSDN通过智能技术生成

应用场景

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

实现过程

找到注册表的位置

钉钉注册表的位置为:

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值