Board logo

标题: [注册表类] [已解决]批处理如何判断指定注册表是否存在某个键值? [打印本页]

作者: h0x0x0    时间: 2010-4-29 08:38     标题: [已解决]批处理如何判断指定注册表是否存在某个键值?

纯粹小白,没基础,要用到才到处找。搜索了论坛,没能找到相关的,请路过的朋友指点下,如果能说明的清楚点那就更感激了。以下是我想实现的内容,尽量表达清楚。

我想通过查看 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 对应启动项下有没有QQ.exe这个启动项(随便选的,不针对),如果有则干什么,没有,干什么。

我的意思其实就是 通过判断注册表中是否存在一个键值 比方说的那个 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run  下的 QQ.exe   如果存在就退出 不存在则添加  不是简单的判断它存在不存在 也不是可以重复添加 而是要做出准确判断 而且不能重复添加  如果只是为了添加可以直接添加 不进行准确判断也没事了 QQ.exe只是举个例子

[ 本帖最后由 h0x0x0 于 2010-4-29 22:13 编辑 ]
作者: h0x0x0    时间: 2010-4-29 15:57

等了一天了都没人愿意帮助 是我问的问题太简单不屑回答吗

实在不愿意回答给个详细的参考地址也好啊
作者: gshccr    时间: 2010-4-29 17:00

@echo off
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v QQ.exe>nul 2>nul&&echo 存在QQ.exe||echo 不存在QQ.exe
pause>nul
作者: gshccr    时间: 2010-4-29 17:26

是这样吗?
@echo off
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f /v "QQ.exe"||exit
pause>nul
作者: gshccr    时间: 2010-4-29 18:56

如果问题已解决,请楼主给标题标注已解决字样!谢谢!
作者: h0x0x0    时间: 2010-4-29 19:57

我的意思其实就是 通过判断注册表中是否存在一个键值 比方说的那个 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run  下的 QQ.exe   如果存在就退出 不存在则添加  不是简单的判断它存在不存在 也不是可以重复添加 而是要做出准确判断 而且不能重复添加  如果只是为了添加可以直接添加 不进行准确判断也没事了 QQ.exe只是举个例子
作者: hanyeguxing    时间: 2010-4-29 20:13

1,直接添加或重复添加会产生什么问题吗?
2,楼主太缺乏举一反三了。
3,参考hh C:\WINDOWS\Help\ntcmds.chm::/reg.htm或reg /?
  1. set "han="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "QQ.exe""
  2. reg query %han%>nul 2>nul||reg add %han% /d "需要的字符串值" /f
复制代码

[ 本帖最后由 hanyeguxing 于 2010-4-29 20:21 编辑 ]
作者: h0x0x0    时间: 2010-4-29 21:33

感谢 gshccr 朋友的帮助 在他的帮助下已经实现目的。

[ 本帖最后由 h0x0x0 于 2010-4-29 22:12 编辑 ]




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