在DOS方式下也能對(duì)注冊(cè)表進(jìn)行編程?是的。當(dāng)您的Windows95/98因注冊(cè)表問題而無法啟動(dòng)到圖形界面時(shí),您此時(shí)只有在DOS下對(duì)注冊(cè)表進(jìn)行手術(shù)了。因?yàn)樽?cè)表編輯器Regedit.exe其實(shí)是一個(gè)雙棲型的程序,既可在DOS下運(yùn)行,也可在Windows95/98下運(yùn)行。許多用戶可能已經(jīng)知道在Windows下使用Regedit的方法,那么,要掌握DOS方式下對(duì)注冊(cè)表的編程,首先要了解在DOS下如何使用注冊(cè)表編輯器。
在DOS提示符下鍵入Regedit命令,將出現(xiàn)一個(gè)幫助屏幕。此屏幕給出了其命令行參數(shù)及其使用方法。
語法: 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è)表數(shù)據(jù)庫(kù)的文件名。
/C filename2 指定形成注冊(cè)表數(shù)據(jù)庫(kù)的文件名。
/E filename3 指定導(dǎo)出注冊(cè)表文件的文件名。
regpath 指定導(dǎo)出注冊(cè)表文件的開始關(guān)鍵字(缺省為全部關(guān)鍵字)
現(xiàn)舉幾個(gè)例子說明regedit.exe在DOS下的使用方法。
【例1】 將系統(tǒng)注冊(cè)表數(shù)據(jù)庫(kù)registry導(dǎo)出到reg1.reg文件中。
regedit /E reg1.reg
【例2】 reg1.reg形成系統(tǒng)注冊(cè)表數(shù)據(jù)庫(kù)registry(全部)中。
regedit /C reg1.reg
【例3】 將reg.dat引入系統(tǒng)注冊(cè)表數(shù)據(jù)庫(kù)中(部分)。
regedit reg.dat
【例4】 將CJH開始的關(guān)鍵字導(dǎo)出注冊(cè)表數(shù)據(jù)庫(kù),并命名為cjh.reg。
regedit /E cjh.reg cjh
【例5】 指定system/dat存放在D:\PWIN中和user.dat存放在E:\PWIN中,將reg.dat數(shù)據(jù)文件形成一個(gè)新的注冊(cè)表數(shù)據(jù)庫(kù)registry。
regedit /L:D:\PWIN /R:E:\PWIN /C reg.dat
有了以上這些知識(shí),結(jié)合在《對(duì)注冊(cè)表進(jìn)行編程的“捷徑”》里講過的關(guān)于導(dǎo)入或?qū)С龅淖?cè)表文件(*.REG),我們就可以在DOS方式下對(duì)注冊(cè)表進(jìn)行編程了。
我們還是以更改“*.txt”文件的默認(rèn)打開方式——“記事本”為“寫字板”為例。首先在MS-DOS提示符下導(dǎo)出“HKEY_CLASSES_ROOT\txtfile”子鍵這一分支,即執(zhí)行命令:
regedit /E txt.reg HKEY_CLASSES_ROOT\txtfile
然后用DOS下的EDIT編輯器打開txt.reg文件進(jìn)行編輯:將其中所有的“C:\\WINDOWS\\NOTEPAD.EXE”全部改成“C:\\WINDOWS\\WRITE.EXE”,存盤退出EDIT,再在命令行下執(zhí)行命令:
regedit txt.reg
便大功告成了。
當(dāng)然,嚴(yán)格來說,這并不是編程。如果一定要編程實(shí)現(xiàn)的話,我們可以將以上過程寫成一批處理文件chang.bat:
@echo off
path=c:\windows;c:\windows\command;c:\dos
cls
echo 正在導(dǎo)出注冊(cè)表……
regedit /E txt.reg HKEY_CLASSES_ROOT\txtfile
echo.
echo 注冊(cè)表導(dǎo)出完畢!按任一鍵開始編輯注冊(cè)表……
echo.
pause
edit txt.reg
echo 正在將修改后的注冊(cè)表導(dǎo)入……
regedit txt.reg
echo 恭喜您!在MS-DOS方式下成功修改了注冊(cè)表!
pause
cls
@echo on
充分發(fā)揮EDIT編輯器的強(qiáng)大功能,我們可以在遵循導(dǎo)出的注冊(cè)表文件的格式的前提下,對(duì)注冊(cè)表進(jìn)行隨心所欲的修改、刪除或者增加任一子鍵。如果覺得這還不夠程序化,您可以發(fā)揮DOS環(huán)境下各種程序設(shè)計(jì)語言的優(yōu)勢(shì),加上交互性的界面,將這一過程真正的程序化,應(yīng)該絲毫不亞于Windows狀態(tài)下的利用API函數(shù)做出來的效果。有興趣的朋友可以試一試。
聯(lián)系客服