2013-02-26 64 views
0

我已經下載了一個電影,由於它的大尺寸,它被分成5個rar文件。文件的前四部分是從一個站點下載的,而第五個文件是從另一個站點下載的,因爲原始站點中第五個文件的鏈接已損壞。問題是第五個文件在子文件夾中,而前四個文件在根文件夾中,所以我無法合併文件以獲取avi文件。 有沒有辦法可以操縱第五個文件並將其移動到根文件夾? Part1.avi Part2.avi Part3.avi Part4.avi 子文件夾\ part5.avi操作rar文件內的文件

我不得已將是從第二站點重新下載第4份文件,但如果可能的話,我想避免這種情況。

TIA

回答

0

最簡單的事情就是隻下載那4個其他部分。我發現可能使問題複雜化的問題,但這是可能的。

首先要問自己的是每個RAR文件中有多少數據可用?這兩個RAR套件都一樣嗎?可能不會。第2組存放路徑,從而使其更大。兩組中哪組包含最多的數據?如果它是第一套,那麼你需要從第二套下載第四部分,因爲否則就會有一堆你沒有的數據。

第二個問題:壓縮或不壓縮檔案?如果第一組是一個問題,那麼問題不大,但如果使用壓縮,我不認爲有可能解壓第二組。你談論一部電影,所以除非一個白癡包裝了電影,否則我的猜測是不會使用壓縮。

有一個nfo文件存儲在文件夾中,但積極的一面是,你會在第五部分有更多的數據比需要,但我希望這種情況是無論如何。

這是我最好的情況下的實驗:檔案中的數據大小相同,不使用壓縮。我想解決這個問題的方法是用十六進制編輯器編輯part5中的名稱,但不是,我創建的檔案沒有相同的數據,因此它會與您的設置相匹配。

我創建了測試文件。我將part5重命名爲與第一組相匹配:嘗試提取時發生CRC錯誤。這是因爲第5部分數據太多。撤消重命名。 從第一集中提取電影的一部分:使用WinRAR進行提取時,選中雜項部分中的「保留損壞的文件」框。

獲取數據進行最後的RAR文件,請使用以下工具:hachoir-wx

打開文件[0] /塊,然後右鍵單擊compressed_data。選擇轉儲到磁盤....現在,您的電影分爲兩部分,但仍需要合併,但第2部分的數據太多了。

接下來你需要做的是將正確的字節複製到一個新的文件。這是計算需要從文件2切碎走什麼公式:

(size part 1) + (size part 2 - X) = total size movie file 

總文件大小可以從WinRAR的讀出。您可以計算其他尺寸和X.

您可以通過編寫一個小腳本來加入這兩個文件,也可以使用十六進制編輯器來完成此操作。Python腳本可能看起來像這樣:

folder = "C:\movie" 
name_part_1 = os.path.join(folder, "movie_part1.avi") 
name_part_2 = os.path.join(folder, "movie_part2.avi") 
out = os.path.join(folder, "good_name.avi") 
x = 1337 

with open(out, "wb") as good: 
    with open(name_part_1, "rb") as one: 
     good.write(one.read()) 
    with open(name_part_2, "rb") as two: 
     two.seek(x) 
     good.write(two.read()) 
+0

我在嘗試安裝hachoir-WX 發現wxPython的> = 2.6.3 最佳匹配局部無包或下載鏈接時出現以下錯誤:無」 – user2111365 2013-03-02 03:02:01

+0

這意味着你必須先安裝wxPython。 – Gfy 2013-03-02 10:21:30