学会使用undelete和unformat命令

Author: Date: 1996-06-14

        一、undelete命令
        1.MS-DOS对误删除文件提供了三级保护措施,即:删除警戒、删除跟踪和标准。
        删除警戒对误操作提供了最高级别的保护功能,确保能够恢复被删除的文件。此级别的保护功能建立了一个隐藏名为sentry的目录,该目录主要用来寄放被删除的所有文件。如果要恢复被删除的文件,MS-DOS将文件移回原来的位置。删除警戒只需要少量的内存空间(13.5K,主要用来存放Undelete程序的内存驻留部分)和少量的磁盘空间(约占总磁盘容量的7%,主要用来存放隐藏目录名sentry和被删除的文件),如果删除的文件和目录超过了这一限制,Undelete将清除老文件,直至有足够的空间存放新删除的文件。
        删除跟踪提供了中级的保护功能。它利用隐藏文件pctacker.del去记录被删除文件的位置。当删除一个文件时,MS-DOS就修改文件分配表(FAT)以表明此位置空出了,可以存放其它文件了。如果该位置还没有存放别的文件,就可以将被删除的文件全部恢复出来。如果已经有别的文件存放了,也许只能部分地恢复,甚至不能恢复。删除跟踪也需要约13.5K的内存空间,但需要的磁盘空间要比删除警戒少的多。
        标准功能提供了最低级的保护功能,它既不需要内存空间,也不需要磁盘空间,也不需要使用命令,只要被删除文件的位置还没被别的文件所占,就足以将被删文件全部恢复过来,否则,就只能部分的恢复已删文件或无法恢复文件。
        综上所述:要么使用删除警戒保护被删除文件,要么使用标准功能不保护被删文件。
        2.命令格式
        Undelete[[驱动器:][路径]文件名][/DT|/DS|/DOS]
        Undelete[LIST|/ALL|PURGE[驱动器]|/STATUS|LOAD|/UNLOAD|/S[驱动器]|/T驱动器[-条目数]]
        3.参数
        [驱动器:][路径]文件名   指定要恢复的文件或一组文件的位置和文件名。
        4.开关
        /DT   只恢复那些在删除跟踪文件中列出的文件,并对每一个文件提示确认是否恢复;
        /DS   只恢复在sentry目录中的(隐藏)文件,并对每一个文件提示确认是否恢复;
        /DOS   只恢复那些在内部列出并被MS-DOS删除的文件,并对每一个文件提示确认是否恢复。如果有删除跟踪文件,此开关可以省略;
        /LIST   列出可被恢复的被删除的文件,但不真正地恢复任何文件。[驱动器:][路径]文件名参数和/DT、/DS以及/DOS开关仍然有效。
        /ALL   恢复被删除的文件而不要求对每个文件提示确认;
        /PURGE[驱动器:]   删除隐藏名为sentry目录中的文件内容。如不指定驱动器的参数,Undelete命令只能在当前驱动器中查找sentry目录;
        /STATUS   显示每个驱动器中正在起作用的删除保护功能的类型;
        /LOAD   利用undelete.INI文件中定义的信息,把undelete的内存驻留程序装入内存。如果不存在此文件,undelete利用隐含值;
        /UNLOAD 从内存中卸出undelete程序的内存驻留部分,使恢复被删除文件功能失效;
        /S[驱动器:]   使删除警戒级的保护功能生效,并把undelete程序的内存驻留部分装入内存。此程序用于把恢复指定驱动器上的被删除文件的信息记录下来,以便需要时恢复出来。如未指定驱动器参数,则此开关只对当前驱动器生效。如已指定了/S开关时,则可利用在undelete.INI文件中定义的信息把它的内存驻留程序装入内存;
        /T驱动器[-条目数]   使删除跟踪级的保护功能生效,并把undelete程序的内存驻留部分装入内存。此程序是把用于恢复被删除文件的信息记录下来,以便需要时将被删除的文件恢复出来。
        5.保护文件的范围
        它保存除了*.tmp,*.swp,*,img,*.thm,*.vm?,*,woa,*.spl,*.rmg和*.dov以外的文件。
        6.使用方法使用下列开关之一:/dos,/dt,/ds。如果未指定一个开关,UNTELETE就会自动地运用三级保护中的其中一级,顺序是从高级保护到低级保护。如有删除警戒保护存在,undelete就会首先利用它,然后利用跟踪文件,如果它也不存在,那么undelete只有利用MS-DOS恢复文件了。
        7.undelete命令的应用示例undelete c:\ucdos\a.wps   这条命令是用undelete恢复C驱动器中UCDOS根目录下编辑的WPS文章。
        undelete a:\*.txt /all   这条命令是用undelete恢复A驱动器的根目录中的具有.txt扩展名的所有被删除文件,并不对每个文件提示确认。
        undelete c:/list   这条命令是用undelete列出C驱动器中所有被删除的文件(不包括被删除的目录和目录中的文件),但不真正地恢复。
        undelete   省略盘符和路径是指定用undelete每次一个文件地恢复当前目录中所有被删除的文件,并对每个文件提示确认,它首先使用最高级级别的删除警戒功能。
        undelete /sc   这条命令是把undelete程序的内存驻留部分装入内存,建立名为sentry的隐藏目录,并把C驱动器上的被删文件移到此目录。
        undelete /tc-500   这条命令是把undelete程序的内存驻留部分装入内存,建立名为pctracker.del的文件去跟踪C驱动器上多达500个被删文件。
        undelete /u   卸出undelete程序的内存驻留部分。u是unload的第一个字母。
        8.设置被保护的驱动器假定undelete.INI文件中包含了这些条目:
        [sentry.drives](指定由删除警戒保护的驱动器)
        c=
        d=
        d=
        这时只要键入命令undelete /s,就要使C、D、E驱动器中的删除警戒级别的保护功能生效。达到保护被删除文件的目的。若要保护三个驱动器中的其中一个驱动器如:C驱动器,应用文本编辑器打开undelete.ini文件,从中删除"D="、"E="驱动器即可。
        9.注意事项
        (1)一旦从磁盘上删除一个相应驱动器中没加删除警戒保护功能的文件,如果新建文件占用了该位置,就意味着再也恢复不了它。因此,如果误删了一个有希望保存的文件,这时要停止工作并立即利用undelete命令将它恢复。
        (2)undelete不能恢复已经删除的目录,也不能恢复已被删除目录中的文件。如果目录是根目录下的直接子目录,而应首先使用unformat命令恢复目录之后再用undelete命令恢复文件,这时有可能恢复目录和其中的文件。但使用unformat应十分小心,否则,会丢失文件中的数据。
        (3)undelete装入内存时会建立一个undelete.INI文件,存放在这个目录下被删除的文件,七天后会被自动清除掉。
        (4)限制被删除文件所用的空间为总磁盘空间的20%。
        二、unformat命令
        1.命令格式:UNFOMAT 驱动器:[/L][/TEST][/P]
        2.参数:指定要在其上恢复文件的磁盘驱动器
        3.开关
        /L   列出unformat发现的每个子目录和文件。如果不使用这一开关,unformat只列出子目录和有文件碎块的文件;
        /TEST   显示unformat如何重建磁盘上的信息,但不是真正的恢复磁盘;
        /P   将输出信息连于与LPT1口相连的打印机上。
        4.恢复已被格式化了的磁盘文件的方法
        unformat是利用根目录中的信息恢复磁盘和文件分配表。如果一个被格式化掉的文件,不具备根目录(或者说不在根目录下),它是不能恢复的。
        5.unformat的应用示例
        unformat A:/L   这条命令是用unformat恢复A驱动器中被格式化了的磁盘上的文件,并列出所有子目录和全部文件。
        unformat B:/TEST   是用unformat命令查看B驱动器中被格式化了的磁盘上的文件能否恢复。
        6.注意:
        (1)unformat命令只能恢复连接完整的文件,如果一个文件被分成若干(二块以上)碎块,它是不可能完整地恢复这个文件,因为它只能找到文件的第一部分,而无法找到其它的部分。
        (2)unformat命令在恢复文件时如果不对用户提示(Y/N),这个被恢复的文件一般是完整的,否则,这个恢复的文件是有碎块的。
        (3)unformat命令恢复硬盘上的文件时,硬盘扇区尺寸必须是512、1024、2048字节。
        (4)unformat命令不适用于FORMAT命令加/U开关格式化了的磁盘。