DOS下对注册表的编程的方法

在DOS方式下也能对注册表进行编程?是的。当您的Windows95/98因注册表问题而无法启动到图形界面时,您此时只有在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文件的存放位置。
   /R: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:D:\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函数做出来的效果。有兴趣的朋友可以试一试。

(0)

相关推荐

  • bat与注册表操作的方法分析 原创

    bat(批处理)操作注册表的方法,我知道的应该有两种1,结合用reg.exe实现读写注册表2,用bat输出文件,然后regedit /s 1.reg 这样的格式来实现 输出vbs等都是这种 echo cmd.exe /k dir c: > c:\windows\system32\1.bat reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "test" /d "c:\win

  • 用bat操作注册表实现不显示扩展名

    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t reg_dword /d 00000001 /f

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

    因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows95/98下运行.许多用户可能已经知道在Windows下使用Regedit的方法,那么,要掌握DOS方式下对注册表的编程,首先要了解在DOS下如何使用注册表编辑器. 在DOS提示符下键入Regedit命令,将出现一个帮助屏幕.此屏幕给出了其命令行参数及其使用方法. 语法: Regedit [/L:system] [/R:user] filename1 Regedit [/L:system] [/

  • 批处理操作注册表完全攻略(读取注册表/写入注册表等)

    一,批处理生成.Reg文件操作注册表 用批处理中的重定向符号可以轻松地生成.reg文件.然后用命令执行.reg文件即可! 这里,着重要了解.reg文件操作注册表的方法. 首先.reg文件首行必须是:Windows Registry Editor Version 5.00.然后才是操作注册表的内容. (就和从注册表中导出的文件格式一致) 1,创建子项 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\TTT] 在HK

  • DOS下对注册表的编程的方法

    在DOS方式下也能对注册表进行编程?是的.当您的Windows95/98因注册表问题而无法启动到图形界面时,您此时只有在DOS下对注册表进行手术了.因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows95/98下运行.许多用户可能已经知道在Windows下使用Regedit的方法,那么,要掌握DOS方式下对注册表的编程,首先要了解在DOS下如何使用注册表编辑器.  在DOS提示符下键入Regedit命令,将出现一个帮助屏幕.此屏幕给出了其命令行参

  • 在DOS下使用注册表扫描程序

    从windows98之后,windows系统加入了对注册表的管理程序,该程序有两个版本,scanregw.exe工作在windows环境中,Scanreg.exe工作在dos环境.并用一个Scanreg.ini文件与之辅助.介绍该程序For windows版本的文章很多,朋友们可以自己查找参阅.这里仅介绍如何在dos下使用Scanreg.exe程序. 由于程序是在dos模式下工作.因此,尽管你的操作系统是中文版的windows,这时出现的也是英文字符界面.程序操作是由命令行和一些选项开关组成.命

  • regini dos下更改注册表权限的工具

    这个玩意主要用途是 在cmd下 修改注册表 以及 注册表权限! 用法研究了一晚上 弄出来了 ,微软上写的 根本不能用啊 郁闷.. 使用方法 C:\>regini regset.ini 就行啦 regset.ini 是你要修改的数据 下面举例! regset.ini 文件内容 引用: 复制代码 代码如下: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run test = c:\windows\system32\fuckt

  • 解开注册表被锁的方法—注册表使用全攻略之四

    解开注册表被锁的方法-注册表使用全攻略之四 一.解锁方法: 1. 你可以在恢复注册表时,用F8进入选DOS模式或用 运行,C:>SCANREG/RESTORE  2. 你也可以用NotePad编辑一个文本文件,保存文件的时候用格式 xxxxxx.reg 在文件中打入以下: (空一行)REGEDIT 或 REGEDIT4 [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\ Policies\system"Disabl

  • 用批处理删除注册表健值的方法分享

    一个基本的格式参考 reg delete KeyName [/v ValueName | /ve | /va] [/f] KeyName [\\Machine\]FullKey Machine 远程机器名 - 忽略当前机器的默认值. 远程机器上只有 HKLM 和 HKU. FullKey ROOTKEY\SubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下的注册表项的全名. ValueName 所选项下的要删

  • Windows下利用注册表的小技巧

    作者:高山 一,WIX9X下防止匿名用户登录 虽然"WIN9X"可以为每个用户定制各自的使用界面并指定口令,但任何人都能通过点击登录窗口中的"取消"或按"ESC"键进入系统,即所谓匿名登录.下述方法可以防止匿名用户登录:在"开始"菜单中选择"运行"命令,在弹出的"运行"命令对话框中键入"regedit"命令,按Enter.打开"注册表编辑器". 在

  • access不能打开注册表关键字错误处理方法(80004005错误)

    错误信息如下: ---------------------------------- Microsoft OLE DB Provider for ODBC Drivers 错误 ''''80004005''''[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 ''''Temporary (volatile) Jet DSN for process 0x728 Thread 0x854 DBC 0x276fb44 Jet''''. -

  • python读取注册表中值的方法

    在Python的标准库中,_winreg.pyd可以操作Windows的注册表,另外第三方的win32库封装了大量的Windows API,使用起来也很方便.不过这里介绍的是使用_winreg操作注册表,毕竟是Python自带的标准库,无需安装第三方库. 下面的例子是通过Python获取Windows XP下已经安装的补丁号.Windows的补丁号都在"HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Updates"下,通过循环下面所有的目录节点,如果找

  • dos下删除文件夹和文件的方法

    在dos下删除文件夹或文件,先要确定文件夹或文件是否有特殊的属性,比如"系统"."只读"."隐藏",如果有,去掉这些属性,命令如下 文件夹: attrib c:\windows -s -r -h 文件:attrib -s -h -r c:\windows\autorun.inf 删除命令如下, 删除文件夹(空):rd c:\windows 删除文件:del c:\windows\autorun.inf 注:如果是当前路径下操作,可以省略路径.如:

随机推荐