通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 技术文章 >> 电脑知识 >> 文章正文
正在使用的文件如何删除?
责任编辑:水土不服   更新日期:2007-9-10
 
怎么才能把那些系统正在使用的文件删除呢?除了进入DOS删除外还有没有更加方便省事的呢?

  其实,除了可以在DOS下执行删除命令外,还是可以在Windows中删除它们的。具体说来就是用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运行时不能被施以这些操作的文件,它存在的时间很短,所以显得有点神秘。

  众所周知,在Windows中,一个可执行文件如果正在运行,或者某个库文件(*.dll、*.vxd、*.sys等),正在被打开使用,则它不能被改写或删除。例如,你不可能在资源管理器中删除Windowsexplorer.exe,而在Windows的GDI界面下,有一些文件一直处于这种状态下,除explorer.exe外,还有显示驱动程序库文件,文件子系统库文件等也是这样。如果要对这些文件进行升级,改动,就必须在Windows保护模式核心启动前进行,于是Windows就提供了基于Wininit.ini文件的一个机制来完成这个任务。这个机制是,要删除或改写这类文件的应用程序按一定的格式把命令写入Wininit.ini。

Windows在重启时,将在Windows目录下搜索Wininit.ini文件,如果找到,就遵照该文件指令删除、改名、更新文件,完成任务后,将删除Wininit.ini文件本身,继续启动过程。所以Wininit.ini文件中的指令只会被执行一次。
  用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 ilename
  ……

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

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

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

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

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月10日发布 每日计算机病毒及木马播报
    普通文章 mobi域名卖出61万美元天价 专家提醒切忌跟风
    普通文章 腾讯推出数字证书服务 网购支付添新"保镖
    普通文章 波音787控制系统发现安全问题
    普通文章 微软08年1月安全公告仅两个内容
    普通文章 杀毒厂商转攻移动安全市场
    普通文章 CP Secure使灰名单将垃圾邮件挥之而去
    普通文章 破坏应用程序 U盘成病毒藏身地
    普通文章 保护您的数据 六招实战EFS加密文件系统
    热门文章
    普通文章提醒:“求职信”病毒1月6日发作
    普通文章两条“蠕虫”蠢蠢欲动
    普通文章5“网银大盗”狂盗储户14万 武汉男子被判10年
    普通文章“木马事件”终告结束 英语学习网重获新生
    普通文章搜索引擎不再喜欢新米,并非只是CN米
    普通文章蠕虫"威金"新变种 "小熊猫"屠宰多个计算机系统
    普通文章元旦上网谨防“Real蛀虫” 通过视频文件传播
    普通文章入侵工具Knark的分析及防范
    普通文章认清本质 计算机病毒防治常遇问题
    普通文章饶过现代Anti-Rookit工具的内核模块扫描(ZT)
    精彩专题