正确删除系统中文件名乱码的文件
2008-08-29 09:55:58 来源:WEB开发网很多朋友遇到过这样的情况:电脑中出现文件名是乱码的文件(以下简称乱码文件,注意:是文件名乱码而不是文件内容乱码),它们无法打开、重命名、删除或移动。查看文件属性,系统显示无文件类型,而且它们一般占用巨大的磁盘空间。
本文着重讨论这些乱码文件名文件的产生原因以及如何删除这些烦人的乱码文件。
一、乱码文件名文件产生的原因
经过仔细分析和研究,认为乱码文件产生的原因主要有以下几点:
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浏览镜像文件,找到乱码文件并删除,再把镜像文件恢复到源分区。这个方法一般可以解决绝大数乱码文件名无法删除的问题。
5. 如果你装的是Windows和Linux双系统,还有一种解决办法。
首先,用Linux启动系统,用“mount”命令加载那个有乱码文件的FAT32 分区并指定codepage=cp437,就可以看到完整的中文文件名和目录了。然后,用“cp -r”命令到拷贝乱码文件到Linux 分区上面; 再用“umount”命令卸载FAT32分区,重新用“mount”命令加载并指定 codepage = cp936,用“iocharset=cp936 cp -r”命令把乱码文件拷贝回去。这个方法可以完全无损地恢复分区。
赞助商链接