很多朋友遇到過這樣的情況:電腦中出現文件名是亂碼的文件(以下簡稱亂碼文件,注意:是文件名亂碼而不是文件內容亂碼),它們無法打開、重命名、刪除或移動。查看文件屬性,系統顯示無文件類型,而且它們一般占用巨大的磁盤空間。
本文著重討論這些亂碼文件名文件的產生原因以及如何刪除這些煩人的亂碼文件。
一、亂碼文件名文件產生的原因
經過仔細分析和研究,認為亂碼文件產生的原因主要有以下幾點:
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”命令把亂碼文件拷貝回去。這個方法可以完全無損地恢復分區。