2

Итак, у меня есть один RAR, и я хочу создать другой RAR только из файлов (скажем, 10K) внутри этого сжатого архива, не распаковывая его.

Надеюсь, что это имеет смысл, и спасибо всем заранее!

3 ответа3

3

Я собираюсь не согласиться с другими ответами, опубликованными до сих пор. То, чего вы хотите достичь , технически возможно при определенных оговорках. Если посмотреть на формат архива RAR, если не используются надежное архивирование и шифрование, можно создать новый архив с измененным заголовком основного архива и копировать только требуемые записи файлов (заголовки файлов, блоки данных, заголовки служб и т.д.) Без блоки данных должны быть сначала распакованы.

Процесс должен быть похож на этот для ZIP-файлов, конечно же, с поправкой на формат RAR.

Кроме того, я хотел бы отметить, что WinRAR уже делает это в некоторой степени, то есть, если вы удаляете файлы из нетвердого архива RAR, он никак не распаковывает данные, хотя, конечно, временные файлы могут использоваться для безопасности.

Итак, какие у вас есть варианты?

  1. Если вам не нужны файлы 50k, вы можете удалить их прямо из исходного архива. Если сплошная архивация не использовалась, декомпрессия и повторная компрессия не потребуются.

  2. Если вам могут понадобиться некоторые файлы позже, вы можете скопировать исходный архив, а затем использовать опцию 1.

  3. Конечно, вы всегда можете извлечь и перепаковать только необходимые файлы в качестве нового архива.

  4. Наконец, как я сказал выше, если сплошное архивирование не использовалось, новый архив с только необходимыми файлами может быть создан без распаковки. Однако, поскольку это такое необычное требование, я почти уверен, что не существует ни одной программы, способной сделать это, поэтому вам придется написать ее самостоятельно или подождать, пока кто-то не сделает это.

Примечание. Ответ был опубликован после получения подтверждения от разработчика WinRAR о том, что технический анализ был обоснованным.

2

Кто-то может доказать, что я неправ, но это не должно быть возможным. Даже если вы видите список файлов, сами файлы сжимаются. Алгоритм был использован для всех файлов в RAR для удаления избыточных данных. Файлы, из которых вы хотите создать другой архив, не существуют в стандартном формате, поэтому вы не сможете выбрать их и создать новый архив, не распаковав их сначала.

1

Я думаю, что это невозможно; Я никогда не видел программного обеспечения для архивирования, которое позволяло бы вам это делать.

В любом случае, я думаю, что в этом нет никакого смысла: если вы пытаетесь упорядочить файлы внутри архива, лучшее решение - распаковать его, поместить файлы в упорядоченную структуру папок и повторно сжать все.
Если вы вместо этого пытаетесь уменьшить размер файла, вы должны подумать, что вы уже работаете со сжатыми файлами, и что сжатие их дважды даст вам небольшие преимущества или не даст никаких преимуществ в этих отношениях.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .