您的位置: 首页 > 计算机技术 > 应用程序 > 怎样删除正在使用的文件
硬盘的阵列附加技术:RAID 回到列表 轻松搞定IE无法收发Hotmail信件
 怎样删除正在使用的文件

作者:佚名 时间: 2003-10-29 文档类型:转载 来自:蓝色理想

删除文件时,经常会碰到Windows提示“文件正在使用”无法删除这样的提示信息。其实,我们除了可以在DOS下执行删除命令外,还可以在Windows中删除它们。具体说来就是用Wininit.ini文件。

一、Wininit.ini文件简介
  
用过Windows 9x的人都见过如下的提示信息:
Please wait while Setup updates your configuration files.
This may take a few minutes……
这是安装完某个软件或者硬件的驱动程序,应安装程序的要求重新启动Windows后的正常现象,这时Windows在干什么呢?实际上它在执行Wininit.ini给出的指令。Wininit.ini是一个鲜为人知的文件,主要用于删除、更名和更新在Windows运行时不能被施以这些操作的文件,它存在的时间很短,所以显得有点神秘。

二、Wininit文件工作机理

众所周知,在Windows中,一个可执行文件如果正在运行,或者某个库文件(*.dll、*.vxd、*.sys等),正在被打开使用,则它不能被改写或删除。例如,你不可能在资源管理器中删除\Windows\explorer.exe,而在Windows的GDI界面下,有一些文件一直处于这种状态下,除explorer.exe外,还有显示驱动程序库文件,文件子系统库文件等也是这样。如果我们要对这些文件进行升级,改动,就必须在Windows保护模式核心启动前进行,于是Windows就提供了基于Wininit.ini文件的一个机制来完成这个任务。这个机制是,要删除或改写这类文件的应用程序按一定的格式把命令写入Wininit.ini。Windows在重启时,将在Windows目录下搜索Wininit.ini文件,如果找到,就遵照该文件指令删除、改名、更新文件,完成任务后,将删除Wininit.ini文件本身,继续启动过程。所以Wininit.ini文件中的指令只会被执行一次,列目录时也通常没有它的踪影。

三、妙用Wininit.ini文件删除windows下的文件

用Wininit.ini文件删除文件其格式为:
[rename]
filename1=filename2
……
虽然名为“rename”,却可实现删除、改名、更新文件的功能。行“filename1=filename2”相当于依次执行“copy filename2 filename1”及“del filename2”这两个DOS命令。没有用过DOS的朋友可能不知道这两条命令的含义,下面来简单解释一下。命令copy filename2 filename1的意思是复制“filename2”文件,并将新文件命名为filename1;命令del filename2的意思是删除filename2文件。

启动时,Windows将用filename2覆盖filename1,再删除filename2,这就实现了用filename2与更新filename1的目的,如果filename1不存在,实际结果是将filename2改名为filename1;如果要删除文件,可令filename1为nul,例如,打开记事本,输入下面的内容:
[rename]
nul=path\filename
……

其中[rename]在wininit.ini中可以起到删除和更名文件的作用:“nul”表示是删除文件,“=”后面的部分为你希望删除的文件的完整路径名,要注意的是应该使用文件的短文件名(即“C:\Program Files”应该写为“c:\progra~1”)。这是因为Wininit.ini文件的处理是在Windows文件系统调入前,所以不支持长文件名。

下面我们看一个完整的例子。假设我们想删除C:\Windows文件夹下的记事本程序notepad.exe,可以这样做,打开记事本,输入下面的内容:
[rename]
nul=C:\Windows\notepad.exe

将编辑好的文件另存为wininit.ini文件,保存在Windows系统目录中。重新启动Windows,在重启的过程中,你的记事本程序和wininit.ini文件本身将被删除。另外,如果要删除的是文件夹,用“dirnul”代替“nul”就可以了,注意,“dir”与“nul”之间没有空格,切记切记。

再举个例子,假如你要删除Windows\temp文件夹,就可以这样做,打开记事本,将下面的内容另存为wininit.ini文件,仍然要保存在Windows系统目录中,重启电脑再次进入Windows中,你会发现temp文件夹已经 被删除了:
[rename]
dirnul=C:\Windows\temp

[编后语]:事实上,Wininit.ini文件的应用很多,除了经常在软硬件的安装程序中用到外,还有软硬件的卸载程序中用到,比如:假设你要为自己的软件编写一个卸载程序,这个卸载程序本身是不可能被自己删除的,因为它试图删除自身时,自身却正在运行。为了清除卸载程序本身,你就得借助于Wininit.ini文件。顺便提一句,在安装Windows的最后阶段,就是利用Wininit.ini文件来清除和更名被安装程序SETUP自身使用的文件。

出处:蓝色理想
责任编辑:Tunco

作者文章 更多作者文章
SQL 语法参考手册
网络知识产权犯罪的新司法解释
再见了~Windows NT
程序员的七种武器
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
Windows7优化调整实用小技巧十则
关于国内Windows 7下载的一些提醒
Windows 7安全模式下修复系统故障
如何防止电脑被黑客入侵
syssafe病毒抗争记
浅谈手工杀毒
L2TP预共享密钥解决内网VPN连接问题
浅谈移动硬盘的数据安全问题
Windows组策略之软件限制策略
特殊文件防止闪存为电脑带来病毒

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2