Allen 2010-01-11 22:19:48 79865 0 0 0 0

  批处理操作注册表必备:Reg命令总结

 
  1. REG ADD
  用该命令加入一个新的指定键值,从给出的例子文件来看,基本的使用方法如下:
  命令-计算机名称-根键名-[子键名称-类型-数据]下面是更详细、规范的表述:
  REG ADD [\Machine]Keyname [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
  参数及说明:
  Machine :
  计算机名称,此处关于计算机名称的介绍,其它命令也将使用,请注意.以Machine指定远程计算机名称,如果省略,默认值是使用当前的本地计算机,不能使用驱动器名来指定远程计算机名.计算机名称前面的双反斜杠符号不能省去.如:\MYDIAC 就是一个正确的范例.
  Keyname :键名,此处关于键名的解释,其它命令也将使用,请注意.
  格式:[Rootkey]Key
  Rootkey 是根键
  根键可以使用以下形式的简写:
  根键名
  简写形式
  HKEY_LOCAL_MACHINE
  HKLM
  HKEY_CURRENT_USER
  HKCU
  HKEY_CLASSES_ROOT
  HKCR
  HKEY_CURRENT_CONFIGURATION
  HKCC
  注意: HKLM 和 HKCU 键值仅适用与远程计算机。
  Key :子键
  所选根键之下的子键的完整名字
  /v Valuename
  向指定注册表加入新键值的名称,如果包含有空格,则字符串应使用引号
  /ve
  加入的空键值名
  /t type
  指定使用的数字或字符串的类型,这些类型与win9x相同,这里不再详细介绍.
  /s Separator
  指定注册表使用的数据字符串的分隔字符,例如使用REG_MULTI_SZ类型时.默认情况下就 "o" 作为分隔字符。
  /f
  允许覆盖现存的注册表
  /d Data
  向注册表中的指定键以指定数据赋于键值
 
  2. REG COMPARE
  将当前(本地计算机)的注册表与另外一个注册表或另外一个远程计算机上的注册表进行比较.将比较结果输出到一个文件上.
  REG COMPARE [\Machine]Keyname1 [\Machine]Keyname2 [/v ValueName] | /ve] [/s] [Output]
  参数及说明:
  Machine :
  指定的计算机名称.含义与上面一样
  Keyname1, Keyname2:
  注册表的键名,含义及格式与上面一样
  /V Valuename:
  进行比较的键值的名称,如果包含有空格,则字符串应使用引号
  /VE, /ve
  比较默认(无键名的)键值
  /S, /s :
  比较所有子键
  Output 输出
  以下列形式的开关参数控制输出结果:
  /OA,/oa:输出全部的不同部分与相同部分
  /OD,/od:仅输出不同部分; /OS,/os:仅输出相同部分
  /ON,/on没有任何输出
  返回代码的含义:
  0:成功地进行了比较,比较的结果是二者相同
  1:比较过程失败;  2-成功地进行了比较,比较的结果是二者不相同
 
  3.REG COPY
  将当前的注册表或远程计算机上的注册表拷贝到一个新的位置(或计算机上)。
  REG COPY [\Machine]SourceKey [\Machine]DestinationKey [/s] [/f]
  参数及说明:
  Machine :
  指定的计算机名称.含义与上面一样
  SourceKey 和 DestinationKey:
  "源"键和"目的"键:注册表的键名称,含义及格式与上面一样
  /s :
  拷贝全部子键及键值
  /f
  强制拷贝
  举例:
  甲例子:REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp
  这里MyApp和 SaveMyApp 是不同注册表中的子键名,都在键名为 MyCo的键之下.执行结果是将MyApp拷贝向 SaveMyApp中。
  乙例子: REG COPY \SAFARIHKLMSoftwareMyCo \ZODIACHKLMSoftwareMyCo
  这里的ZODIAC和SAFARI是计算机名,MyCo 是两台机器的注册表中都有的键名,执行结果是SAFARI机器的键值被拷向ZODIAC.它与上面一个的主要区别是:1.两台机器都是远程计算机.2.所拷贝的是该键之下的全部内容而不是某一项.
  丙例子: REG COPY \ZODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1
  作用与上面类似,但ZODIAC是远程计算机,而HKLM是本地当前所用计算机.
 
  4.REG DELETE
  删除一个注册表、注册表键值或子键值.
  REG DELETE [\Machine]Keyname [/v ValueName | /ve | /va] [/f]
  参数及说明:
  Machine :指定的计算机名称.含义与上面一样
  Keyname :注册表的键名称,含义及格式与上面相同
  /v Valuename :
  指定删除的键值的名称,如果包含有空格,则字符串应使用引号
  /va :删除该键之下的所有键值
  /ve : 删除无键名的值
  /f : 强制删除
 
  5.REG EXPORT
  将注册表导出到一个文件上.仅适用于在本地计算机导出。
  REG EXPORT Keyname Filename [/nt4]
  参数及说明:
  Keyname :注册表的键名称,含义及格式与上面相同
  FileName :导出的注册表文件名
  /nt4 以windowsNT4.0的注册表格式导出
 
  6.REG IMPORT
  将(备份的)一个注册表文件导入到计算机中.仅适用于在本地计算机。
  REG IMPORT FileName
  参数及说明:
  FileName :准备导入的注册表文件名
 
  7.REG LOAD
  从备份的注册表中临时装入一个指定的键值,这种操作类似于使用注册表编辑器导入某一个键值。
  REG LOAD [\Machine] KeyName FileName
  参数及说明:
  Machine 计算机名,参数含义与上面相同。
  Keyname:临时装入的键名称,但含义及格式与上面相同
  Key:指定的键名,这个键名是指定文件中所选择的根键或其以下的键值的集合,这个临时装入的键或其集合将在下次启动时删除,也可以用REG UNLOAD命令删除。
  FileName :指定的文件名。
 
  8.REG QUERY
  显示相关项目的信息,此处所指项目可以是整个注册表之中的根键、子键或其键集合。
  REG QUERY [\Machine]KeyName [/v ValueName | /ve] [/s]
  参数及说明:
  Machine 计算机名称,含义与上面相同
  Keyname 键名 含义及格式与上面相同
  Key 所选择根键之下的子键名
  /v Valuename :指定的希望显示键值的名称,如果包含有空格,则字符串应使用引号
  /ve :显示无键名的值.
  /s 显示指定键名之下所有子键
 
  9.REG RESTORE 恢复注册表
  REG RESTORE [\Machine]KeyName FileName
  参数及说明:
  Machine 计算机名称,含义与上面相同
  Keyname 键名,含义及格式与上面相同
  FileName :
  文件名,这个文件必须是用REG SAVE命令所建立的
 
  10.REG SAVE
  保存注册表,这个操作是类似注册表编辑器中的将整个注册表导出到一个文件中,当然,也可以导出某个键或其下面的子键的集合.
  REG SAVE [\Machine]KeyName FileName
  Machine: 计算机名称,含义与上面相同
  Keyname 键名,含义及格式与上面相同
  FileName :
  指定的导出文件名,如果不指定路径,则文件就默认保存在当前计算机的当前目录下;如果是远程计算机,不指定路径时,导出文件保存在%SystemRoot%system32 文件夹.
  注意:不能保存HKLMSecurity 子键.因它是受系统保护的.
 
  11.REG UNLOAD
  移去装入的部分,移去原来用RED LOAD命令装入的部分键或其以下的子键集合.
  REG UNLOAD [\Machine]KeyName
  参数及说明:
  Machine 计算机名称,含义与上面相同
  Keyname 键名,含义与上面相同 
 
  一个完整的例子:
 
@ECHO OFF
SET SOURCEPATH=%CD%
SET TTSPATH=%ProgramFiles%Common FilesSpeechEnginesMicrosoftTTS2052
echo.
echo       1.安装中文语音引擎
echo       2.卸载中文语音引擎
ECHO.
SET Choice=
SET /P Choice=请输入您的选择:
IF NOT ^%Choice%^==^^ SET Choice=%Choice:~0,1%
IF /I ^%Choice%^==^1^ GOTO Item1
IF /I ^%Choice%^==^2^ GOTO Item2
GOTO END
 
:ITEM1
CALL :INSTALL
GOTO END
 
:ITEM2
CALL :UNINSTALL
GOTO END
 
:INSTALL
IF NOT EXIST "%TTSPATH%" MD "%TTSPATH%"
COPY "%SOURCEPATH%"BIN*.* "%TTSPATH%"
CD /D "%TTSPATH%"
REGSVR32.EXE /S SPTTSCHS.DLL
REGSVR32.EXE /S LPHENG.DLL
REGEDIT /S "%SOURCEPATH%SPTTSCHS.REG"
REG ADD "HKCRCLSID{AE2CF4DB-3697-45F4-9787-0FC5A37BEB36}InprocServer32" /V "InprocServer32" /D "_GxGgRluE9nEric]wPAz>,zQR8ISgO9hI3lmB`uvp" /F>NUL
REG ADD "HKCRCLSID{B267E840-9DBF-4DF8-8D4F-7FE7EB9B4739}InprocServer32" /V "InprocServer32" /D "_GxGgRluE9nEric]wPAz>,zQR8ISgO9hI3lmB`uvp" /F>NUL
SET CHSNAME=兰飞中文女声
SET KEYPATH="HKLMSOFTWAREMicrosoftSpeechVoicesTokensLanpheiVoice"
REG ADD %KEYPATH% /VE /D "%CHSNAME%" /F>NUL
REG ADD %KEYPATH% /V "CLSID" /D "{674CB457-E73F-43C0-8A61-01D5065832C4}" /F>NUL
REG ADD %KEYPATH% /V "804" /D "%CHSNAME%" /F>NUL
REG ADD %KEYPATH% /V "VCDATA" /D "%TTSPATH%VOICE.SVX" /F>NUL
REG ADD %KEYPATH% /V "PMSDATA" /D "%TTSPATH%UNI.PHN" /F>NUL
SET KEYPATH="HKLMSOFTWAREMicrosoftSpeechVoicesTokensLanpheiVoiceAttributes"
REG ADD %KEYPATH% /VE /F>NUL
REG ADD %KEYPATH% /V "Gender" /D "Female" /F>NUL
REG ADD %KEYPATH% /V "Name" /D "%CHSNAME%" /F>NUL
REG ADD %KEYPATH% /V "Language" /D "804" /F>NUL
REG ADD %KEYPATH% /V "Vendor" /D "Lanpheisoft" /F>NUL
REG ADD %KEYPATH% /V "Age" /D "Adult" /F>NUL
GOTO :EOF
 
:UNINSTALL
REGSVR32.EXE /U /S "%TTSPATH%SPTTSCHS.DLL"
REGSVR32.EXE /U /S "%TTSPATH%LphEng.dll"
DEL "%TTSPATH%*.*" /Q
RD "%TTSPATH%"
REG DELETE "HKLMSOFTWAREMicrosoftSpeechPhoneConvertersTokensFrench" /F>NUL
REG DELETE "HKLMSOFTWAREMicrosoftSpeechPhoneConvertersTokensGerman" /F>NUL
REG DELETE "HKLMSOFTWAREMicrosoftSpeechPhoneConvertersTokensSpanish" /F>NUL
REG DELETE "HKLMSOFTWAREMicrosoftSpeechVoicesTokensLanpheiVoice" /F>NUL
REG DELETE "HKLMSOFTWAREMicrosoftSpeechVoicesTokensMSSimplifiedChineseVoice" /F>NUL
GOTO :EOF
 
:END
ECHO 完成!
PAUSE
 

Tag: Bat知识 TTTBLOG
我也要发一个   ·   返回首页   ·   返回[杂记]   ·   前一个   ·   下一个
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[杂记]   ·   返回顶部