原帖地址
http://tech.ddvip.com/2008-08/121997724558576.html,本人略作修改,增补相关内容(第一章)。
【内容摘要】:很多朋友遇到过这样的情况:电脑中出现文件名是乱码的文件(以下简称乱码文件,注意:是文件名乱码而不是文件内容乱码),它们无法打开、重命名、删除或移动。查看文件属性,系统显示无文件类型,而且它们一般占用巨大的磁盘空间。
很多朋友遇到过这样的情况:电脑中出现文件名是乱码的文件(以下简称乱码文件,注意:是文件名乱码而不是文件内容乱码),它们无法打开、重命名、删除或移动。查看文件属性,系统显示无文件类型,而且它们一般占用巨大的磁盘空间。
本文着重讨论这些乱码文件名文件的产生原因以及如何删除这些烦人的乱码文件。
【内容】
一、什么是乱码文件(夹)。 目前,我见到的乱码文件有两类,一类是存在“非法字符”文件名的文件(夹),一类是含有中文异体字、繁体字的怪异文件名的文件(夹)。现分述如下:
(一)存在“非法字符”文件名的文件(夹)。 要了解什么这类乱码文件(夹),就必须从WINDOWS文件(夹)名的命名规范说起。
WINDOWS对文件(夹)名的命名是有要求的,一是长度有要求,不能超过255个字符(超过这个限制,WINDOWS将无法识别该文件)。同样,对组成文件名中的字符也有要求,少数字符是不能在文件(夹)名中出现的,最常见的有这么几类:
1、字符“*”。在WINDOWS下,这个字符如果在文件名里,那么它表示任何字符和任何小于255个字符长度的字符串。因此,从文件名不可相同这个角度考虑,这个字符是不能出现在WINDOWS的文件名中的。
2、字符“?”。在WINDOWS下,这个字符如果在文件名里,那么它表示任何一个字符。道理同上,这个字符也是不能出现在WINDOWS的文件名中的。
3、其它字符,如“/”、“\”、“:”、“<”、“>”、“|”等。原因基本与上述原因相同:WINDOWS已经赋予这些字符以特殊的含义,因此正常状况下这些字符都不可能出现在文件名中。
以上字符在WINDOWS文件(夹)名命名规范中,成为“非法字符”。
<P.S.>要想了解在WINDOWS下哪些字符不能出现在文件名中,最简单的方法是重命名桌面任何一个应用程序的快捷方式,输入上述任何一个非法字符后,WINDOWS将自动弹出一个TIPS,提醒你什么字符是“非法字符”,如下:
(二)含有中文异体字、繁体字的怪异文件名的文件(夹)。 这类文件(夹)生成机理不明,有待楼下高手给出具体原因。个人提供一个案例,供参考:
http://bbs.ikaka.com/showtopic-8624250.aspx 二、乱码文件(夹)名文件产生的原因 经过仔细分析和研究,认为乱码文件产生的原因主要有以下几点:
1. 硬盘磁道或扇区出现错误,导致文件名出现乱码,这样的文件无法正常删除。
2. 有时候在Windows中执行的删除文件操作,只是将磁盘上文件分配表里的相关文件信息删掉了,并没有实际删除文件。
3. 不正确的操作。在使用BT下载软件时,下载进度到99%时就停止下载,并自己修改文件名,由于BT下载不是顺序下载,这样有可能导致文件索引信息错误,导致乱码文件出现。
4. 使用磁盘工具PQmagic转换过分区格式之后(如从NTFS到FAT32),出现文件名乱码现象。因为PQmagic对中文文件名的支持不是很好,所以,在整理完分区后会导致中文文件名出现乱码,甚至文件内容也出现乱码。
5. 病毒引起的文件名乱码,这种乱码文件产生的原因比较复杂,一般是由于病毒自己制造或杀毒软件删除病毒不彻底导致磁盘逻辑错误。
6. 闪存、移动硬盘等移动存储设备出现乱码文件,尤其是手机存储卡最容易出现这种问题。这种情况多是由于不正确地使用移动存储设备造成的,比如直接拔离设备等。但是有的时候质量不好的闪存或移动硬盘也会出现乱码文件,这是移动设备本身的质量问题。比如当往存储卡中写入数据时出错,出现乱码文件,同时系统右下角出现“Windows延缓写入失败,Windows无法为x:/windows/windowsupdate.log文件保存所有数据”的提示,这多半是由于存储卡已经损坏了。
三、删除乱码文件名的文件(夹)的方法一览 由于乱码文件(夹)产生的原因有多种,经过我仔细研究,找到了以下几种处理办法:
1. 尝试为文件重命名,如果可以重命名的话。运行cmd 打开任务管理器,结束explorer进程,切换到cmd命令提示符状态下输入“Del 文件名”后就可以删除文件了,这种方法只适用于可以重命名的文件。在进行操作时先关闭其他一切不相关的程序。
2. 如果重命名文件时系统提示“拒绝访问”,那么在cmd模式下运行“chkdsk /f”命令检查磁盘错误并修复。
如果出现找到磁盘错误,一般的错误都是可以修复的,在修复完成后就可以删除乱码文件了。
注意:有时,由于乱码文件所在分区为系统区,系统会提示“另一个进程正在调用该卷,是否希望下次开机时检查该卷?”我建议用这样的方法运行chkdsk命令,使用Windows安装盘引导系统,在选择新安装windows界面时,按“R”修复已有系统,进入命令提示符状态,在这里运行“chkdsk /f”命令。我测试过,这样运行的效果要比在Windows下的cmd模式中好很多。再运行“fixmbr”命令修复分区表。也可以修复系统其他的问题。
3.如果进行完上一步仍然无法删除乱码文件,可以使用我们最常用的WinRAR压缩工具来删除,具体的方法是压缩乱码文件并选中“压缩后删除源文件”选项。这样,一般的乱码文件就可以删除了。
4.但是如果文件的磁盘文件索引块已经被破坏,那WinRAR也是没有办法的,这时候就要借用Ghost这个强大的工具了。先把有乱码文件的分区做成镜像文件,再使用Ghost explorer浏览镜像文件,找到乱码文件并删除,再把镜像文件恢复到源分区。这个方法一般可以解决绝大数乱码文件名无法删除的问题。
四、有关建议 如果大家对乱码文件名文件(夹)的处理还有好的做法与经验,不妨跟帖说明,以资共同提高。
【感言】觉得本区部分帖子内容有点超出“菜鸟学堂”的范畴,呵呵……
用户系统信息:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)