在DOS方式下对注册表进行操作的代码
程序员文章站
2022-03-07 21:04:21
因为注册表编辑器regedit.exe其实是一个双栖型的程序,既可在dos下运行,也可在windows95/98下运行。许多用户可能已经知道在windows下使用reged...
因为注册表编辑器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函数做出来的效果。有兴趣的朋友可以试一试。如果对此还有什么问题,请与我联系(acalpdc@sohu.com)。
在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函数做出来的效果。有兴趣的朋友可以试一试。如果对此还有什么问题,请与我联系(acalpdc@sohu.com)。
上一篇: bat实现的模仿黑客帝国里面的数码雨
下一篇: DOS中的pause命令简介