【教學】RegEdit 在 DOS 下的用法





senliou
2003-03-23, 02:06 AM
在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 指定導出注冊表文件的開始關鍵字(缺省為全部關鍵字)


    【例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

  便大功告成了。

命令格式:
Regedit /L:system /R:user /E filename.reg Regpath

參數詳解:
/L:system 指定system.dat文件所在的路徑。
/R:user指定user.dat文件所在的路徑。
/E:此參數指定注冊表編輯器要進行導出注冊表操作,在此參數后面空一格,輸入導出注冊表的文件名。

Regpath指定要導出哪個注冊表的分支,如果不指定,則將導出全部注冊表分支。

注意事項 :
/L:system和/R:user參數為可選項,如果缺省,那麼注冊表編輯器認為是對Windows目錄下的system.dat和User.dat進行操作。但是如果你從軟盤開始啟動,那麼必須使用/L和/R參數來指定System.dat和User.dat文件的具體路徑,否則注冊表編輯器將無法找到它們。

舉例說明:
如果將保存在C:\Windows\System.dat和保存在
C:\Windows\Profiles\User.dat中所有HKEY_CLASSER_ROOT根鍵下的分支導出到file.reg中,命令如下:


Regedit /L:C:\Windows\ /R:C\Windows\Profiles\ /e file1.reg HKEY_CLASSER_ROOT



  當然,嚴格來說,這並不是編程。如果一定要編程實現的話,我們可以將以上過程寫成一批處理文件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函數做出來的效果。