[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] [已解决]批处理如何判断指定注册表是否存在某个键值?

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

我想通过查看 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 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

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

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

TOP

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 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

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

TOP

如果问题已解决,请楼主给标题标注已解决字样!谢谢!

TOP

是这样吗?
@echo off
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f /v "QQ.exe"||exit
pause>nul

TOP

@echo off
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v QQ.exe>nul 2>nul&&echo 存在QQ.exe||echo 不存在QQ.exe
pause>nul
1

评分人数

TOP

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

实在不愿意回答给个详细的参考地址也好啊

TOP

返回列表