备份注册表里的一些信息,可以在误删注册表导致系统出错时,恢复注册表内容,或者防止重装系统后,一些需要注册的软件又需要重新注册等问题。
导入导出注册表的一些信息,我们当然可以打开 RegEdit.exe 来操作,但是如果我们经常想备份某几项,这时建立一个批处理来执行显然就更方便一些了。
1. 导出注册表信息
如果我们需要将注册表里的一项导出单独保存,可以用如下批处理语句来实现:
REG EXPORT “导出项目路径” 导出保存文件名.reg
例如:
reg export "HKLMsoftwaretencentqq" qqreg.reg
pause
执行后,批处理所在目录下就导出了相关注册表项并保存为 qqreg.reg 文件。
如果需要导出注册表的某几项,则可用如下方法来实现:
:: 首先请将要导出的路径统一保存到本批处理同一目录下的 bat.txt
:: by 志文工作室
:: Blog-http://lzw.me
@echo off
pause
for /f %%i in (a.txt) do (
reg export %%i a.reg&&type a.reg>>all.reg&&del a.reg
)
pause
如果需要导出整个注册表信息,可以用如下批处理来实现:
reg export /y HKLM LM.reg
reg export /y HKCU LU.reg
reg export /y HKCR CR.reg
reg export /y U U.reg
reg export /y CC CC.reg
完了找这5个reg文件就行了
或者直接使用 regedit /e backup.reg
将注册表的所有分支备份到当前路径下的backup.reg文件
2. 导入信息至注册表
至于导入,双击导出的文件就可以导入了。当然想用批处理来实现的话,将上面的 export 换为 import 即可,格式为:REG IMPORT 导入注册表的文件名称
如:
regedit backup.reg ;将backup.reg导入注册表
regedit /s backup.reg ;以安静模式将backup.reg导入注册表
扩展阅读: regedit 的命令行参数
filename 导入 .reg 文件进注册表
/s 导入 .reg 文件进注册表(安静模式)
/e 导出注册表文件
例:regedit /e filename.reg HKEY_LOCAL_MACHINESYSTEM /L:system
指定 system.dat /R:user
指定 user.dat /C
压缩 [文件名] (Windows 98)
REGEDIT[/L:system][/R:user]filename1
REGEDIT[/L:system][/R:user]/C filename2
REGEDIT[/L:system][/R:user]/E filename3 [regpath]
其中:
/L:system
指定system.dat文件的存放位置。/R:user
指定user.dat文件的存放位置。filename1
指定引入到注册表数据库的文件名。/C filename2
指定形成注册表数据库的文件名。/E filename3
指定导出注册表文件的文件名。regpath
指定导出注册表文件的开始关键字(缺省为全部关键字)
利用windows的自动备份恢复注册表信息
WINDOWS 操作系统对注册表的保卫有一个非常实用的功能,就是系统在用户当天第一次开机时,会自动将 WINDOWS 目录下的 SYSTEM.DAT SYSTEM.INI USER.DAT WIN.INI
这四个注册表文件打成 CAB 包存放在WINDOWSSYSBCKUP目录下。
由于系统默认保存最近 5 个开机日备份的注册表文件包,所以它们分别以 rb000.cab~rb004.cab
命名存放。
对于这个 CAB 文件包,我们可以在 DOS 状态下用 WINDOWSCOMMAND
目录下的 EXTRACT.EXE
来解压,也可以在 DOS 状态下进入 windows 目录用命令 scanreg.exe/restore
来恢复注册表。
WINDOWS 提供的这个功能帮助了不少的注册表狂热分子来对付注册表崩溃。
老大,你好,怎么让输出的文件名自动命名为为日期+时间格式,如下面的 qqreg.reg
reg export "HKLMsoftwaretencentqq" qqreg.reg
pause