WinRAR可以說是現(xiàn)在最風(fēng)光的壓縮軟件了,風(fēng)頭逐漸蓋過了老牌的WinZip!超高的壓縮比,簡單易用的界面,強大的功能……不過不知道大家有沒有碰到過這樣的情況:辛辛苦苦從網(wǎng)上了數(shù)百兆的RAR壓縮包文件,正解壓時突然彈出一個讓你心驚肉跳對話框!告訴你出錯了……
判斷出錯原因
出錯信息為“CRC失敗于加密文件(口令錯誤?)”(RAR壓縮包設(shè)了密碼,但密碼輸入錯誤或是密碼輸入正確但循環(huán)冗余校驗碼(CRC)出錯!只不過因為此RAR壓縮包加了密碼的緣故,所以WRAR才猜測說可能是“口令錯誤”)
區(qū)分上面兩種錯誤的方法:如果密碼輸入錯誤的話是無法解壓出任何文件的!但如果壓縮包內(nèi)有多個文件,且有一部分文件解壓縮出來了,那么應(yīng)該是RAR壓縮包循環(huán)冗余校驗碼(CRC)出錯而不是密碼輸入錯誤。
循環(huán)冗余校驗碼(CRC)出錯,這是最常見的情況,這也是本文討論的重點!和上面的幾種解壓縮出錯不同,這種情況是和RAR壓縮包損壞有關(guān)的。
原因有幾種:
(1)網(wǎng)絡(luò)傳輸狀況不好(如斷線過多,開的線程過多,服務(wù)器人太多導(dǎo)致不能連接太多等)導(dǎo)致下來的文件損壞!
(2)站點提供的的RAR壓縮包本來就是損壞的(這就沒辦法了,除非此壓縮包中含有回復(fù)記錄)。
(3)所使用的工具不夠完善,比如有的工具多開了幾個線程后,的收尾工作很慢,有些時候到99%時數(shù)據(jù)就不再傳輸了,一定要人工操作才能結(jié)束(先停止接著再開始)。筆者就碰到過好幾次這樣的情況。結(jié)果是文件下來以后解壓縮到快結(jié)束時CRC出錯。
應(yīng)急解決
1.利用恢復(fù)記錄
想要修復(fù)CRC是有條件的,必須是此RAR壓縮包中有恢復(fù)記錄,而此恢復(fù)記錄是RAR壓縮包被壓縮時的可選項。
而WinRAR壓縮時默認是不放置恢復(fù)記錄的,如果提供的是這樣的RAR壓縮包,那么用戶自己想要修復(fù)CRC錯誤是不可能的。
2.釜底抽薪
如果RAR壓縮包中的文件是那種即使文件有缺失仍能正?;蜉^為正常地使用的(其實大多數(shù)的文件對部分數(shù)據(jù)損壞都不是非常敏感的),那便可以使出我們的終極殺招:釜底抽薪法!
其原理就是讓RAR壓縮包內(nèi)損壞的文件解壓縮出來,不理會WinRAR的警告,能解壓多少就解壓多少。解壓縮軟件還是用WinRAR,不過要做小小的設(shè)置。
在右鍵點擊解壓縮文件后跳出的窗口里,把“保留被損壞的文件”復(fù)選框選中,點擊確定開始解壓縮。不要理會解壓縮出錯的信息,解壓縮結(jié)束之后你會發(fā)現(xiàn)損壞的文件被解壓出來了。經(jīng)過這樣解壓出來的損壞文件能正常使用的幾率還是非常高的。
做好保險工作
1.做好恢復(fù)記錄
原始RAR壓縮包在壓縮時,如果選擇放置恢復(fù)記錄,這樣用戶后即使CRC出錯也有自己修復(fù)的機會!
2.采取分卷壓縮
采取分卷壓縮的方法便可較大地減少因為出現(xiàn)不可恢復(fù)的錯誤帶來的損失。
3.老文件也加恢復(fù)記錄
有人也許會問,新壓縮的RAR壓縮包可以加入恢復(fù)記錄,那么已經(jīng)壓縮過的RAR包有沒有辦法也加上恢復(fù)記錄呢?給已經(jīng)壓縮好的RAR壓縮包加上恢復(fù)紀錄是有辦法的。
只需要打開壓縮包,在“命令”菜單中選擇“保護檔案文件”即可。
小常識:
其實RAR壓縮包出錯的解決方法主要是以預(yù)防為主!如果沒有預(yù)防,等到真正出了問題,技術(shù)上也是沒辦法完美解決的!像循環(huán)冗余校驗碼(CRC)出錯這種情況,如果RAR壓縮包不包含恢復(fù)記錄的話,用戶自己想要修復(fù)CRC是不可能的!本文的主要目的是想告訴大家一些出錯的原因以及討論一些從根本上預(yù)防出錯和把損失減少到最小的辦法而已!