最简单的方法是也下载这 4 个其他部分。我看到了可能使其复杂化的问题,但这是可能的。
首先要问自己的是每个可用的 RAR 文件中有多少数据?这两个 RAR 集是否相同?可能不是。Set 2 存储了路径,因此使其更大。两组中哪一组包含的数据最多?如果它是第一组,那么您也需要从第二组下载第 4 部分,否则会有大量您没有的数据。
第二个问题:档案是否被压缩?如果第一组是,则问题不大,但如果使用压缩,我看不到打开第二组的可能性。您谈论一部电影,所以除非白痴打包电影,否则我的猜测是不会使用压缩。
文件夹中可能存储了一个 nfo 文件,但积极的是,您在第 5 部分中将拥有比需要更多的数据,但我希望无论如何都是这样。
这是我对最佳情况的实验:档案中的数据大小相同,并且不使用压缩。我解决这个问题的想法是使用十六进制编辑器编辑第 5 部分中的名称,但是不,我创建的档案没有相同的数据,所以它会与您的设置相匹配。
我创建了测试文件。我重命名了第 5 部分以匹配第一组:尝试提取时出现 CRC 错误。这是因为第 5 部分的数据太多。撤消重命名。从第一组中提取部分电影:使用 WinRAR 提取时,选中其他部分中的“保留损坏的文件”框。
要从最后一个 RAR 文件中获取数据,请使用以下工具:hachoir-wx
打开文件[0]/块并右键单击compressed_data。选择转储到磁盘.... 现在您的电影分为 2 个部分仍需要合并,但第 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())