来自当知百科
跳转到: 导航搜索

目录

语法及参数

  deltree [/Y] [驱动器:]路径 [[驱动器:]路径[...]]

  [/Y]:跳过确认删除(Y/N)提示。

  [驱动器:]路径[...]:

  指定需要删除的目录。

  [[驱动器:]路径[...]]:

  这表示您可以同时列举多个待删除的目录。

  例如:"deltree c:\dir111 c:\dir222"将对驱动器C下的dir111、dir222两个目录执行deltree。

由来和意义

  DOS系统提供内部命令RD(RMDIR)用来删除目录。但RD有一个巨大的局限性,就是只能删除没有子目录/子文件纯正的空目录。

  造成这个局限性的原因在于,RD命令的实质仅限于将目录从驱动器的“文件分配表(FAT)”中删去。如果无视整个目录树的存在而直接从FAT中删去目录,将会造成子目录和整体文件夹结构的“断链”,导致磁盘剩余空间分配以及目录结构管理的混乱。

  所以RD命令在执行前将自行判断是否有子目录/子文件存在。如果目录非空,将会直接提示"The directory is notempty."而拒绝删除。这也就是我们经常说的“RD只能删除空目录”。

  但在实际应用中,用户往往需要将一个目录的整个目录树删除。如果用RD命令实现,需要进入层次最深的子目录,删除所有文件,再删除空的子目录……一层一层往复循环,操作的繁杂是可想而知的。

  所以DOS以外部命令的形式提供了“deltree.exe”用来方便地删除目录树。提供deltree的目的是为了简化用户操作。

  deltree的内部原理实际上也是对每个子目录进行递归访问,逐层进行"del*.*"和"rd"。可以认为deltree是内部命令的有机组合,这也就是将deltree提供为外部命令的原因。

危险性

  几乎所有DOS书籍中都将deltree与"format c:", "del*.*","fdisk"等并列为初学者慎用的“危险命令”之一。这是不无道理的。因为deltree命令删除一个目录是彻底且方便的,无论目录中有多少子文件、子目录,deltree都可以“一步到位”地完成删除。

  所以请使用deltree之前自行检查目录中是否有需要保留的内容。同时也建议初学者,不要在系统目录下,或存有重要内容的驱动器中试用deltree,以免造成系统故障和数据丢失。

属性的影响

  deltree在删除目录时无视整个目录树的只读、隐藏、存档、系统四项属性。无论目录本身的属性,还是各级子目录、子文件的属性都不会影响deltree的运作。

  利用这一特点可以在deltree清除病毒目录时省去attrib -a -r -h -s。

  但与此同时,deltree无视属性的特点也是deltree的另一大危险性,必须加以重视。

获得

  也许在某些情况下需要获得deltree.exe。而实际的经验表明,deltree.exe不容易在互联网上下载到。

  在希望得到deltree.exe时,一种较为使用的方法是,找到一张Windows98安装盘,从“WIN98_22.CAB”中解压缩deltree.exe文件。

  或者,也可以在安装有Windows 98的系统上,从“*:\WINDOWS\COMMAND”目录下复制。

  在Windows 98启动软盘中也有deltree.exe。请从A:\EBD.CAB中解压缩。

纯DOS程序 / Windows2000/XP相关

  deltree.exe是一个16位的DOS程序。在Windows2000/XP的“命令行模式”中,Windows需要调用“16位虚拟机(ntvdm)”来执行deltree.exe。

  Windows2000/XP的命令行模式不再提供deltree.exe。

  在Windows2000/XP的命令行模式下删除目录树请用RD /S。

  请注意:纯DOS(Win9X的DOS7.0及其之前)下的RD不能删除目录树,无/S,/Q参数。在使用纯DOS修系统时请老老实实deltree。

  附:Windows2000/XP的RD命令帮助信息全文 (RD /?)

  删除一个目录。

  RMDIR [/S] [/Q] [drive:]path

  RD [/S] [/Q] [drive:]path

  /S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。

  /Q 安静模式,带 /S 删除目录树时不要求确认

看法

  在现在的应用中,WinXP/2000的命令提示符(cmd)中,甚至是命令行安全模式中,都可以使用RD/S命令。而在纯DOS检修系统的过程中,“无忧启动”等依托光盘启动而实现的维修工具集也得到了广泛的应用。其中自然包含了DOS版资源管理器等许多有用的文件管理工具。deltree的功能有许多优秀的替代品来实现。

  所以,今天来看,deltree应该更多的作为DOS的昨日经典来看待。

附:deltree帮助信息原文 (deltree /?)

  Deletes a directory and all the subdirectories and files in it.

  To delete one or more files and directories:

  DELTREE [/Y] [drive:]path [[drive:]path[...]]

  /Y Suppresses prompting to confirm you want to delete

  the subdirectory.

  [drive:]path Specifies the name of the directory you want todelete.

  Note: Use DELTREE cautiously. Every file and subdirectory withinthe

  specified directory will be deleted.

个人工具
名字空间

变换
查看
操作
导航
工具箱