用户名:  密码:   
您当前的位置:首页 > 其它 >  脚本语言 > 

总结-批处理之注册表操作

上次修改时间: 2014-03-25 11:19:44      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\脚本语言\甲壳虫批处理cmd教程\      下一页

批处理注册表操作常识
1.路径或值名中含有空格的要用“双引号”括起来
2.含有百%号的,要写成%%。


删除:
1.删除一个项及它下面所有子项和值, 最后不能加斜杆,否则即使提示删除也没有生效
reg delete "HKCU\Software\Microsoft\Internet Explorer\DOMStorage"
注:这里的DOMStorage后不能加斜杠,如DOMStorage是错误的。

2.删除一个项下的某项的值,删除了160.com下的total键和值,整个total这项都会没有
reg delete "HKCU\Software\Microsoft\Internet Explorer\DOMStorage\160.com" /v "total"
注:/v后面接值的名称,/ve删除空值为名称的值 /va删除项下面所有值

3.删除某项下的所有值,只会留一个缺省值"Default",但也会被清空.
reg delete "HKCU\Software\Microsoft\Internet Explorer\DOMStorage\163.com" /va

创建和修改:
4.编辑某项下的值,把160.com项下名为total类型为reg_dword的值改为123456
reg add "HKCU\Software\Microsoft\Internet Explorer\DOMStorage\160.com" /v total /t reg_dword /d 123456
reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /v "start page" /t reg_sz /d "baidu.com"  //把开始页面设为空,也可以用双引号设为空

也可以通过echo输出到文件再导入的方式操作注册表,如:
echo REGEDIT4 >>reg.reg
echo [HKEY_.......] >>reg.reg
echo "start page"=..... >>reg.reg
regedit /s reg.reg
del reg.reg
注:这里的 >> 输入符号前后要有空格,特别是前面如没空格echo输出有空格的字符串时会出错。
[HKEY_CLASSES_ROOT\CLSID\{00000507-0000-0010-8000-00AA006D2EA4}\ProgID]

Reg Delete /?
REG DELETE KeyName [/v ValueName | /ve | /va] [/f] [/reg:32 | /reg:64]

  KeyName    [\\Machine\]FullKey
    远程机器名 - 如果省略,默认情况下将使用当前机器。远程机器上只有 HKLM 和 HKU 可用。
    FullKey  ROOTKEY\SubKey
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下面的注册表项的全名。

  ValueName  所选项下面的要删除的值名称。 如果省略,则删除该项下面的所有子项和值。
  /ve        删除空值名称的值(默认)。
  /va        删除该项下面的所有值。
  /f         不用提示,强制删除。
  /reg:32    指定应使用 32 位注册表视图访问注册表项。
  /reg:64    指定应使用 64 位注册表视图访问注册表项。

示例:
  REG DELETE HKLM\Software\MyCo\MyApp\Timeout
    删除注册表项 Timeout 及其所有子项和值
  REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
    删除 ZODIAC 上的 MyCo 下面的注册表值 MTU


REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
        [/reg:32 | /reg:64]
  KeyName  [\\Machine\]FullKey
           Machine  远程机器名 - 忽略默认到当前机器。远程机器上只有 HKLM 和 HKU 可用。
           FullKey  ROOTKEY\SubKey
           ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
           SubKey   所选 ROOTKEY 下注册表项的完整名称。
  /v       所选项之下要添加的值名称。
  /ve      为注册表项添加空白值名称(默认)。
  /t       RegKey 数据类型,如果忽略,则采用 REG_SZ。
           [ REG_SZ    | REG_MULTI_SZ | REG_EXPAND_SZ |
             REG_DWORD | REG_QWORD    | REG_BINARY    | REG_NONE ]
  /s       指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符
           如果忽略,则将 "\0" 用作分隔符。
  /d       要分配给添加的注册表 ValueName 的数据。
  /f       不用提示就强行覆盖现有注册表项。
 /reg:32  指定应该使用 32 位注册表视图访问的注册表项。
 /reg:64  指定应该使用 64 位注册表视图访问的注册表项。

例如:

  REG ADD \\ABC\HKLM\Software\MyCo    添加远程机器 ABC 上的一个注册表项 HKLM\Software\MyCo
  REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead    添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)
  REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail    添加一个值(名称: MRU,类型: REG_MULTI_SZ,数据: fax\0mail\0\0)
  REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%    添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)
    注意: 在扩充字符串中使用插入符号 ( ^ )

REG EXPORT KeyName FileName [/y] [/reg:32 | /reg:64]
  Keyname    ROOTKEY[\SubKey] (只是本地机器)。
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名。
  FileName   要导出的磁盘文件名。
  /y       不用提示就强行覆盖现有文件。
 /reg:32  指定应该使用 32 位注册表视图访问的注册表项。
 /reg:64  指定应该使用 64 位注册表视图访问的注册表项。
例如:

  REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg    将注册表项 MyApp 的所有子项和值导出到文件 AppBkUp.reg


REG IMPORT FileName[/reg:32 | /reg:64]
  FileName  要导入的磁盘文件名(只是本地机器)。
 /reg:32  指定应该使用 32 位注册表视图访问的注册表项。
 /reg:64  指定应该使用 64 位注册表视图访问的注册表项。
例如:
  REG IMPORT AppBkUp.reg    从文件 AppBkUp.reg 导入注册表项