deltree

deltree.exe,DOS外部命令,刪除一個目錄下的所有子目錄和檔案。deltree是一個外部命令,也就是說,deltree命令是通過執行DOS應用程式"deltree.exe"實現的。假如用戶所使用的DOS系統中沒有提供"deltree.exe"檔案,將不能使用deltree命令。"deltree.exe"在各個版本的DOS中都提供;在Win98啟動盤,Win98的"X:\Windows\Command\"目錄下也都有;但是Windows2000/XP的“命令行模式”不再提供deltree.exe。

基本介紹

  • 中文名:deltree
  • 定義:DOS外部命令
  • 平台:deltree.exe
  • 由來內部命令RD
  • 意義:簡化用戶操作
  • 危險性:系統故障和數據丟失
語法及參數,由來和意義,危險性,屬性的影響,獲得,純DOS程式 / Windows2000/XP相關,看法,附:deltree幫助信息原文 (deltree /?),

語法及參數

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 not empty."而拒絕刪除。這也就是我們經常說的“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時,一種較為使用的方法是,找到一張Windows 98安裝盤,從“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 to delete.
Note: Use DELTREE cautiously. Every file and subdirectory within the
specified directory will be deleted.

相關詞條

熱門詞條

聯絡我們