华域联盟 DOS/BAT 在DOS方式下对注册表进行操作的代码

在DOS方式下对注册表进行操作的代码

因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows95/98下运行。许多用户可能已经知道在Windows下使用Regedit的方法,那么,要掌握DOS方式下对注册表的编程,首先要了解在DOS下如何使用注册表编辑器。

  在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。

  语法: 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文件的存放位置。

  /L:user 指定user.dat文件的存放位置。

filename1 指定引入注册表数据库的文件名。

  /C filename2 指定形成注册表数据库的文件名。

  /E filename3 指定导出注册表文件的文件名。

  regpath 指定导出注册表文件的开始关键字(缺省为全部关键字)

  现举几个例子说明regedit.exe在DOS下的使用方法。

 【例1】 将系统注册表数据库registry导出到reg1.reg文件中。

  regedit /E reg1.reg

【例2】 reg1.reg形成系统注册表数据库registry(全部)中。

  regedit /C reg1.reg

 【例3】 将reg.dat引入系统注册表数据库中(部分)。

  regedit reg.dat

 【例4】 将CJH开始的关键字导出注册表数据库,并命名为cjh.reg。  

 regedit /E cjh.reg cjh

 【例5】 指定system/dat存放在D:\PWIN中和user.dat存放在E:\PWIN中,将reg.dat数据文件形成一个新的注册表数据库registry。

  regedit /L:\PWIN /R:E:\PWIN /C reg.dat

 有了以上这些知识,结合在《对注册表进行编程的“捷径”》里讲过的关于导入或导出的注册表文件(*.REG),我们就可以在DOS方式下对注册表进行编程了。

  我们还是以更改“*.txt”文件的默认打开方式――“记事本”为“写字板”为例。首先在MS-DOS提示符下导出“HKEY_CLASSES_ROOT\txtfile”子键这一分支,即执行命令:

  regedit /E txt.reg HKEY_CLASSES_ROOT\txtfile

 然后用DOS下的EDIT编辑器打开txt.reg文件进行编辑:将其中所有的“C:\\WINDOWS\\NOTEPAD.EXE”全部改成“C:\\WINDOWS\\WRITE.EXE”,存盘退出EDIT,再在命令行下执行命令:

  regedit txt.reg

  便大功告成了。

 当然,严格来说,这并不是编程。如果一定要编程实现的话,我们可以将以上过程写成一批处理文件chang.bat:

@echo off

path=c:\windows;c:\windows\command;c:\dos

cls

echo 正在导出注册表……

  regedit /E txt.reg HKEY_CLASSES_ROOT\txtfile

echo.

echo 注册表导出完毕!按任一键开始编辑注册表……

echo.

pause

edit txt.reg

echo 正在将修改后的注册表导入……

regedit txt.reg

echo 恭喜您!在MS-DOS方式下成功修改了注册表!

pause

cls

@echo on

  充分发挥EDIT编辑器的强大功能,我们可以在遵循导出的注册表文件的格式的前提下,对注册表进行随心所欲的修改、删除或者增加任一子键。如果觉得这还不够程序化,您可以发挥DOS环境下各种程序设计语言的优势,加上交互性的界面,将这一过程真正的程序化,应该丝毫不亚于Windows状态下的利用API函数做出来的效果。有兴趣的朋友可以试一试。如果对此还有什么问题,请与我联系([email protected])。


您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » 在DOS方式下对注册表进行操作的代码

转载请保留出处和原文链接:https://www.cnhackhy.com/16065.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部