0

我下载了一部电影,由于它的大小,它被分成了 5 个 rar 文件。该文件的前 4 个部分是从一个站点下载的,而第 5 个文件是从另一个站点下载的,因为指向原始站点中第五个文件的链接已损坏。问题是第五个文件在子文件夹中,而前四个文件在根文件夹中,所以我无法合并文件以获取 avi 文件。有没有办法可以操纵第五个文件并将其移动到根文件夹?Part1.avi Part2.avi Part3.avi Part4.avi 子文件夹\part5.avi

我最后的手段是从第二个站点重新下载文件的前 4 部分,但如果可能的话,我想避免这种情况。

TIA

4

1 回答 1

0

最简单的方法是也下载这 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())
于 2013-02-28T13:02:16.163 回答