2013-02-26 25 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