刪除文件時,經(jīng)常會碰到Windows提示“文件正在使用”無法刪除這樣的提示信息。其實,我們除了可以在DOS下執(zhí)行刪除命令外,還可以在Windows中刪除它們。具體說來就是用Wininit.ini文件。
一、Wininit.ini文件簡介 用過Windows 9x的人都見過如下的提示信息: Please wait while Setup updates your configuration files. This may take a few minutes…… 這是安裝完某個軟件或者硬件的驅(qū)動程序,應(yīng)安裝程序的要求重新啟動Windows后的正常現(xiàn)象,這時Windows在干什么呢?實際上它在執(zhí)行Wininit.ini給出的指令。Wininit.ini是一個鮮為人知的文件,主要用于刪除、更名和更新在Windows運行時不能被施以這些操作的文件,它存在的時間很短,所以顯得有點神秘。
二、Wininit文件工作機理
眾所周知,在Windows中,一個可執(zhí)行文件如果正在運行,或者某個庫文件(*.dll、*.vxd、*.sys等),正在被打開使用,則它不能被改寫或刪除。例如,你不可能在資源管理器中刪除\Windows\explorer.exe,而在Windows的GDI界面下,有一些文件一直處于這種狀態(tài)下,除explorer.exe外,還有顯示驅(qū)動程序庫文件,文件子系統(tǒng)庫文件等也是這樣。如果我們要對這些文件進行升級,改動,就必須在Windows保護模式核心啟動前進行,于是Windows就提供了基于Wininit.ini文件的一個機制來完成這個任務(wù)。這個機制是,要刪除或改寫這類文件的應(yīng)用程序按一定的格式把命令寫入Wininit.ini。Windows在重啟時,將在Windows目錄下搜索Wininit.ini文件,如果找到,就遵照該文件指令刪除、改名、更新文件,完成任務(wù)后,將刪除Wininit.ini文件本身,繼續(xù)啟動過程。所以Wininit.ini文件中的指令只會被執(zhí)行一次,列目錄時也通常沒有它的蹤影。
三、妙用Wininit.ini文件刪除windows下的文件
用Wininit.ini文件刪除文件其格式為: [rename] filename1=filename2 …… 雖然名為“rename”,卻可實現(xiàn)刪除、改名、更新文件的功能。行“filename1=filename2”相當(dāng)于依次執(zhí)行“copy filename2 filename1”及“del filename2”這兩個DOS命令。沒有用過DOS的朋友可能不知道這兩條命令的含義,下面來簡單解釋一下。命令copy filename2 filename1的意思是復(fù)制“filename2”文件,并將新文件命名為filename1;命令del filename2的意思是刪除filename2文件。
啟動時,Windows將用filename2覆蓋filename1,再刪除filename2,這就實現(xiàn)了用filename2與更新filename1的目的,如果filename1不存在,實際結(jié)果是將filename2改名為filename1;如果要刪除文件,可令filename1為nul,例如,打開記事本,輸入下面的內(nèi)容: [rename] nul=path\filename ……
其中[rename]在wininit.ini中可以起到刪除和更名文件的作用:“nul”表示是刪除文件,“=”后面的部分為你希望刪除的文件的完整路徑名,要注意的是應(yīng)該使用文件的短文件名(即“C:\Program Files”應(yīng)該寫為“c:\progra~1”)。這是因為Wininit.ini文件的處理是在Windows文件系統(tǒng)調(diào)入前,所以不支持長文件名。
下面我們看一個完整的例子。假設(shè)我們想刪除C:\Windows文件夾下的記事本程序notepad.exe,可以這樣做,打開記事本,輸入下面的內(nèi)容: [rename] nul=C:\Windows\notepad.exe
將編輯好的文件另存為wininit.ini文件,保存在Windows系統(tǒng)目錄中。重新啟動Windows,在重啟的過程中,你的記事本程序和wininit.ini文件本身將被刪除。另外,如果要刪除的是文件夾,用“dirnul”代替“nul”就可以了,注意,“dir”與“nul”之間沒有空格,切記切記。
再舉個例子,假如你要刪除Windows\temp文件夾,就可以這樣做,打開記事本,將下面的內(nèi)容另存為wininit.ini文件,仍然要保存在Windows系統(tǒng)目錄中,重啟電腦再次進入Windows中,你會發(fā)現(xiàn)temp文件夾已經(jīng) 被刪除了: [rename] dirnul=C:\Windows\temp
[編后語]:事實上,Wininit.ini文件的應(yīng)用很多,除了經(jīng)常在軟硬件的安裝程序中用到外,還有軟硬件的卸載程序中用到,比如:假設(shè)你要為自己的軟件編寫一個卸載程序,這個卸載程序本身是不可能被自己刪除的,因為它試圖刪除自身時,自身卻正在運行。為了清除卸載程序本身,你就得借助于Wininit.ini文件。順便提一句,在安裝Windows的最后階段,就是利用Wininit.ini文件來清除和更名被安裝程序SETUP自身使用的文件。
出處:藍色理想
責(zé)任編輯:Tunco
|