所以我有一个 RAR,我想仅从压缩档案中的文件(假设为 10K)创建另一个 RAR,而不解压缩它。
希望这是有意义的,并提前感谢大家!
答案1
我不得不不同意目前发布的其他答案。你想要实现什么是在技术上是可行的,但需要注意某些事项。RAR 档案格式,如果 固体归档并且不使用加密,可以创建一个新的档案,修改主档案头,只复制所需的文件记录(文件头、数据块、服务头等)没有需要先解压缩的数据块。
该过程应该类似于这个用于ZIP文件,当然要针对 RAR 格式进行适当调整。
另外,我想指出的是,WinRAR已经在某种程度上确实如此,也就是说,如果您从非固实 RAR 存档中删除文件,它不会以任何方式解压缩数据,尽管当然出于安全考虑可以使用临时文件。
那么您在这里有什么选择?
如果您不需要这 50k 个文件,您可以直接从源存档中删除它们。如果没有使用固实存档,则无需解压和重新压缩。
如果您稍后可能需要某些文件,您可以复制源档案,然后按照选项 1 操作。
当然,您始终可以仅提取并重新压缩所需的文件作为新的档案。
最后,正如我上面所说,如果不使用固实存档,则可以创建仅包含所需文件的新存档而无需解压。但是,由于这是一个非常不常见的要求,我敢肯定目前还没有可以做到这一点的程序,因此您必须自己编写一个或等待有人这样做。
注意:在收到 WinRAR 开发人员的确认,确认技术分析合理后,才发布了答案。
答案2
有人可能会证明我错了,但这应该是不可能的。即使你看到了文件列表,文件本身也是压缩的。算法被用在全部RAR 中的文件以删除冗余数据。您想要创建另一个存档的文件不存在于标准文件格式中,因此如果不先解压它们,您将无法选择它们并创建新存档。
答案3
我认为这是不可能的;我从来没有见过可以让你这样做的归档软件。
无论如何,我认为这样做毫无意义:如果您尝试整理档案中的文件,最好的解决方案是解压缩它,将文件放入有组织的文件夹结构中,然后重新压缩所有内容。相反,
如果您试图减小文件大小,您必须认为您已经在使用压缩文件,并且从这些方面来看,两次压缩将给您带来很少或没有好处。