中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何给注册表批量添加键值和数据?
作者:
标题: 如何给注册表批量添加键值和数据? 上一主题 | 下一主题
5872169
高级用户





积分 959
发帖 474
注册 2007-10-25
状态 离线
『楼 主』:  如何给注册表批量添加键值和数据?

如何给注册表批量添加键值和数据?以下是我写的代码请高手修改一下!但无法写入数据,如果数据类型为REG_DWORD应该怎么写?
set regpth="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows

NT\CurrentVersion\Image File Execution Options\CoralQQ.exe"
for %%i in (Debugger DisableHeapLookAside) do reg add %regpth% /f /v

"%%i"

[ Last edited by 5872169 on 2008-3-14 at 09:34 AM ]

2008-3-14 09:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 2 楼』:  

for %%i in (Debugger DisableHeapLookAside) do reg add %regpth%  /v "%%i" /t REG_DWORD /d ...  /f

2008-3-14 10:29
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 3 楼』:  

楼主set的变量怎么断成好几截了?

2008-3-14 10:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
5872169
高级用户





积分 959
发帖 474
注册 2007-10-25
状态 离线
『第 4 楼』:  

suntb,可能是粘贴的原因

2008-3-14 11:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
5872169
高级用户





积分 959
发帖 474
注册 2007-10-25
状态 离线
『第 5 楼』:  

huahua0919,无法通过测试,数据无法写入,你看我写的有问题吗
set regpth="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\CoralQQ.exe"
for %%i in (Debugger DisableHeapLookAside) do reg add %regpth% /v "%%i"  /t REG_DWORD /d D:\安装程序\垃圾清理.bat 1 /f

Debugger的数据是:"D:\安装程序\垃圾清理.bat",DisableHeapLookAside的数据是:"1"

[ Last edited by 5872169 on 2008-3-14 at 11:27 AM ]

2008-3-14 11:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 6 楼』:  

你上面写的是错误的!现在有事回不了!

2008-3-14 11:31
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  

Debugger的数据是:"D:\安装程序\垃圾清理.bat",DisableHeapLookAside的数据是:"1"
====================
/d开关后面只能跟一个参数,也就是说一条reg add命令无法同时给两个变量赋值。写两条reg add命令不行吗,何必一定要用for呢?

2008-3-14 11:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by HAT at 2008-3-14 11:35:
Debugger的数据是:"D:\安装程序\垃圾清理.bat",DisableHeapLookAside的数据是:"1"
====================
/d开关后面只能跟一个参数,也就是说一条 ...

如果只有两个添加的数据 还是分开写就好了 

2008-3-14 11:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
5872169
高级用户





积分 959
发帖 474
注册 2007-10-25
状态 离线
『第 9 楼』:  

我是想方便一点,感觉一条一条的写太麻烦!

2008-3-14 11:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by 5872169 at 2008-3-14 11:45:
我是想方便一点,感觉一条一条的写太麻烦!

如果添加的数据相同的话用FOR比较适合

如果要添加不同的数据用FOR可能效率更低

2008-3-14 12:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
5872169
高级用户





积分 959
发帖 474
注册 2007-10-25
状态 离线
『第 11 楼』:  

我就是想添加相同的数据

2008-8-10 19:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 12 楼』:  


@echo off
set regpth="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\CoralQQ.exe"
for %%i in (Debugger DisableHeapLookAside) do (
  if "%%i" equ "Debugger" (
    reg add %regpth% /v "%%i"  /t REG_DWORD /d D:\安装程序\垃圾清理.bat /f
  ) else if "%%i" equ "DisableHeapLookAside" (
    reg add %regpth% /v "%%i"  /t REG_DWORD /d 1 /f
  )
)




2008-8-11 01:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 13 楼』:  


@echo off
set regpth="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\CoralQQ.exe"
for %%i in (Debugger DisableHeapLookAside) do (
  if "%%i" equ "Debugger" (
    set data=D:\安装程序\垃圾清理.bat
  ) else if "%%i" equ "DisableHeapLookAside" (
    set data=1
  )
  reg add %regpth% /v "%%i"  /t REG_DWORD /d %data% /f
)




2008-8-11 01:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: