找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 598|回复: 1

DOS下对注册表进行编辑的方法

[复制链接]

14

主题

68

回帖

112

牛毛

一级牛人

我是冰又是火

积分
112
QQ
发表于 2008-10-19 16:48:21 | 显示全部楼层 来自 江苏省南通市
学习一下,不错的

210

主题

1468

回帖

2236

牛毛

二级牛人

漫长的路.什么时候能走完.

积分
2256
 楼主| 发表于 2008-10-19 16:26:34 | 显示全部楼层 |阅读模式 来自 福建省南平市
MS-DOS方式下也能对注册表进行编程?是的。当您的Windows 95/98因注册表问题而无法启动到图形界面时,您此时只有在DOS下对注册表进行手术了。因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows 95/98下运行。许多用户可能已经知道在Windows下使用Regedit 的方法,那么,要掌握MS-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函数做出来的效果。有兴趣的朋友可以试一试。
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-16 10:59 , Processed in 0.127068 second(s), 32 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表