Board logo

标题: 如何给注册表批量添加键值和数据? [打印本页]

作者: 5872169     时间: 2008-3-14 09:29    标题: 如何给注册表批量添加键值和数据?

如何给注册表批量添加键值和数据?以下是我写的代码请高手修改一下!但无法写入数据,如果数据类型为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 ]

作者: huahua0919     时间: 2008-3-14 10:29
for %%i in (Debugger DisableHeapLookAside) do reg add %regpth% /v "%%i" /t REG_DWORD /d ... /f

作者: suntb     时间: 2008-3-14 10:57
楼主set的变量怎么断成好几截了?

作者: 5872169     时间: 2008-3-14 11:11
suntb,可能是粘贴的原因

作者: 5872169     时间: 2008-3-14 11:19
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 ]

作者: huahua0919     时间: 2008-3-14 11:31
你上面写的是错误的!现在有事回不了!

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

作者: suntb     时间: 2008-3-14 11:42
Originally posted by HAT at 2008-3-14 11:35: Debugger的数据是:"D:\安装程序\垃圾清理.bat",DisableHeapLookAside的数据是:"1" ==================== /d开关后面只能跟一个参数,也就是说一条 ...
如果只有两个添加的数据 还是分开写就好了 

作者: 5872169     时间: 2008-3-14 11:45
我是想方便一点,感觉一条一条的写太麻烦!

作者: suntb     时间: 2008-3-14 12:19
Originally posted by 5872169 at 2008-3-14 11:45: 我是想方便一点,感觉一条一条的写太麻烦!
如果添加的数据相同的话用FOR比较适合 如果要添加不同的数据用FOR可能效率更低

作者: 5872169     时间: 2008-8-10 19:36
我就是想添加相同的数据

作者: HAT     时间: 2008-8-11 01:43
@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
  )
)

作者: HAT     时间: 2008-8-11 01:46
@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
)