用“COPY NUL filename”可以彻底删除文件吗?

Author: 湖北 李军 Date: 1996-09-06

        我的E盘根目录下有一个重要数据库文件JG.DBF,在用A盘备份后,敲入“COPY NULL JG.DBF”命令删除了该文件。但第二天,从A务拷贝JG.DBF时出现多次读盘错误忽略错误后拷贝出的文件却而目全非。
        后来我尝试恢复E盘上被“COPY NUL”删除的JG.DBF。首先用PCTOOLS 9.0中的PCSHELL的磁盘编辑功能查看文件目录表,发现该文件名的第一个字节为“ ”,表示已被删除,文件长度为零,建立时间为2/3/80,文件入口簇号为零。我想起该数据库中有一个字段名为“销售价”,就用EDIT在C盘编辑一个文件,内容为“销售价”三个字,然后用PCSHELL查看该文件,找到“销售价”三个字对应的机内码为“CF FA CA DB BC DB”。选择E盘,用磁盘查找功能搜索这个字符书。漫长的十几分钟后,终于找到了,查看一下,确认就是该数据库的内容!剩下来的事情就好办了,该扇区的首字节也就是数据库文件的第一个字节为03H,屏幕顶部提示行中显示的簇号为27228,接着退回到文件目录表中,在文件入口簇号栏中填入27228,将在备份盘上查到的文件长度975972B填入文件长度栏,最后存盘退出PCSHELL,再试着用Undelete恢复,很幸运,该文件被正确恢复了。这证明:1.用“COPY NUL filename”只能彻底删除文件的文件目录表,并没有真正删除文件的内容,2.只要文件的内容未被覆盖,就有可能恢复文件。