CCDOS文件名损坏的恢复 汤明贵 1916-03-11 一.问题的提出 由于在1.44单软上装有PUC5.0--WPS2.0系统及DBASE和GWBASIC三个子目录和系统,磁盘空间不多,要求学生经常删除备份文件,学生在删除时误将全部文件都删除了,其中有一名为"数据通讯.WPS" 的文章, 因有急用就使用PCTOOLS的U功能恢复之,恢复后"数据"两字变得杂乱无章,"通讯.WPS"正常,文件的长度和属并没有改变,在 WPS的选单上选该栏进入时提示为新文件,DOS的COPY,REN,DEL,TYPE命令都无法操作,连 PCTOOLS的文件服务中的W功能也不能进入,用DEBUG读32个绝对扇区时有三个扇区是该文的内容说明该文存在,用PCTOOLS文件服务中的E功能可以进入且文章完整,说明文件分配表无误,只有一种解释,那就是该文件的文件名损坏了。 二.分析原因 究其原因是该文件名原先是用汉字,占两个字节,而DOS的文件删除时只是将第一个字节改为E5,以后的各字节均没变化,在恢复文件时所改上的字同第二字节不能构成新的汉字,第二字节却与第三字节能构成一个汉字,于是第四字节空余,而这第四节是扩展的ASC码,DOS不认识,CCDOS又必须以双字节出现才能认识。 造成该文件名的损坏。在实际操作中,引起这种现象的情况也不少,比如你在输入汉字和全角字文件名时输入了一个半角空格,这时你删除一个全角时,空格前的字符也可能随着后半字的被删而消失,而前一字节仍在文件名内,于是上一种情况就有可能发生。 三.恢复文件名 文件名损坏的恢复以PCTOOLS较为方便, 下面介绍以PCTOOLS5.0恢复该文件名的方法和步骤。 1.找出该子目录所在的簇 根据该文件名所在的位置,如果是在根目录, 可直接用第2条来恢复。由于该文件是在磁盘的二级子目录PUC中,必须先找出该子目录所在的簇。 Path\Pctools 进入PCTOOLS F3 选磁盘功能选择目标磁盘 M 进行磁盘映像 F 选择映像文件 F10 更换映像文件目录,将光标移到目标目录(PUC)上后回车 G 进行该目录内文件的磁盘映像 ← 连续按几次方向左移键,直到出现含有D 的映射扇区出现 此时Start clust的值(xxxx)即该目录在该磁盘(逻辑盘)上的对应簇, 2.找该目录所在扇区 Esc 退出磁盘映像 E 进入磁盘编辑 F2 列磁盘编辑区目录 C 选择磁盘编辑区C区 xxxxx 输入刚找到的该目录在该磁盘(逻辑盘)上的对应簇值 Page 用翻页键翻页,如果该文件在该目录中较前的位置,也许就在该簇的首扇区,不用翻页,有时目录扇区并不连续,此时继续向后翻页直到找到该文件名,此时的Sector的值(yyyyyyy)即是这个文件名在该磁盘 (逻辑盘)上的对应扇区。 3.修改该文件名 F3 进行磁盘编辑 F1 将光标从HEX区切换到ASCⅡ区 ↓ 将光标从ASC 区第一行移到该文件名所在的行后停在第一个字母上 N 将杂乱部分用几个大写英文字符或阿拉伯数字替代(一定要大写),为了以后改名方便可少用几字,其余部分全部用空格代替。不要改动其它部分。 F5 将改后的结果存盘 Esc 退出E功能 Esc Y 退出PCTOOLS,文件名修改完成, 你也可以仍改回原文件名。 文件名的损坏只出现在用汉字和全角字作文件名的时候,出现的机遇虽不很多,但出现后往往引起一些假想和恐慌,大家以后遇到这种情况时,应先想一想文件名是否损坏,如是,可用上法试着恢复。但要杜绝这种现象还是不用汉字和全角字作文件名。