中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么实现自动查找注册表的某个键值
作者:
标题: 怎么实现自动查找注册表的某个键值 上一主题 | 下一主题
lzys
初级用户





积分 54
发帖 28
注册 2006-10-16
状态 离线
『楼 主』:  怎么实现自动查找注册表的某个键值

我想修改注册表
HKEY_USERS\S-1-5-21-746137067-602162358-725345543-500\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones\0
"DisplayName"="自己的名字"

但这个键值好像在每个系统中都不一样。。。我要怎么写才能自动找到这个键值呢?????请高手帮忙

[ Last edited by lzys on 2007-5-23 at 04:21 AM ]

2007-5-23 04:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 2 楼』:  

试试这个行不:
因为S-1-5-21-746137067-602162358-725345543-500在每台电脑里都不一样;
我用'reg query HKU^|findstr /v "_Classes"^|findstr "S-1-5-21"'
取得;应该具有较好的通用性;不过没有测试过;
@echo off
for /f %%a in ('reg query HKU^|findstr /v "_Classes"^|findstr "S-1-5-21"') do (
        reg query %%a\Software\Microsoft\Windows\CurrentVersion\\"Internet Settings"\Lockdown_Zones\0 /v DisplayName
)
这里我只是 reg query并没有修改他;

想要修改的话;
参考上面的代码和reg /?自行修改.

2007-5-23 09:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lzys
初级用户





积分 54
发帖 28
注册 2006-10-16
状态 离线
『第 3 楼』:  

晕了,我可能是太笨了,研究了好半天也没把后面的代码补全。。。斑竹在帮帮忙吧。。。v DisplayName  后面我真的不知道在添加什么代码了

2007-5-23 15:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 4 楼』:  

提醒reg add /?
把我的reg query改为 reg add 至于格式参考下面;

Windows 控制台注册表工具 - 版本 3.0
版权所有 (C) Microsoft Corp. 1981-2001.  保留所有权利。


REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

  KeyName  [\\Machine\]FullKey
           远程机器的机器名 - 忽略默认到当前机器。
                    远程机器上只有 HKLM 和 HKU。
           FullKey  ROOTKEY\SubKey
           ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
           SubKey   所选 ROOTKEY 下注册表项的完整名

  /v       所选项之下要添加的值名

  /ve      为注册表项添加空白值名<无名称>

  /t       RegKey 数据类型
           [ REG_SZ    | REG_MULTI_SZ  | REG_DWORD_BIG_ENDIAN    |
             REG_DWORD | REG_BINARY    | REG_DWORD_LITTLE_ENDIAN |
             REG_NONE  | REG_EXPAND_SZ ]
           如果忽略,则采用 REG_SZ

  /s       指定一个在 REG_MULTI_SZ 数据字符串中
           用作分隔符的字符
           如果忽略,则将 "\0" 用作分隔符

  /d       要分配给添加的注册表 ValueName 的数据

  /f       不用提示就强行改写现有注册表项

2007-5-23 16:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: