-1

Об этом спрашивали несколько раз, но я не могу найти решение.

У меня есть архив tar.tgz, в котором есть файлы .txt. Мне нужно извлечь программный файл t1.txt из него программно в Win 7 за один шаг. Я пробовал Winzip 14.5, 7Zip и Tartool без успеха.

Winzip запрашивает ввод пользователя, говоря, что внутри файла tat.tgz есть файл .tar. Вы хотите извлечь его содержимое? Я не могу понять, есть ли переключатель, который направляет его на извлечение содержимого всегда. 7 Zip извлекает содержимое всех файлов .txt на консоль, а не извлекает его как файлы. Tartool не позволяет извлечь конкретный файл из архива.

Пожалуйста, кто-нибудь может мне помочь, как это сделать?

Спасибо ап

2 ответа2

1

Технически невозможно извлечь один файл из архива tgz без обработки всех файлов, которые находятся "до" искомого файла.

Это связано с тем, что используемое сжатие zip в формате GNU не поддерживает произвольный доступ, вы должны начать распаковку в начале файла, а затем продолжить, пока нужные данные не были извлечены.

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

0

Если это вариант вы можете использовать WinRAR для извлечения одного файла из архива (я использовал GZIP-1.6.tar.gz от сюда , чтобы проверить):

WinRar.exe e gzip-1.6.tar.gz "gzip-1.6\gzip.doc"

Используйте x вместо e если вы хотите извлечь файлы с полным путем.

Поскольку вы упомянули, что хотите сделать это программно, помните, конечно, что вы не можете распространять исполняемые файлы WinRAR, WinZIP и т.д. Вместе с вашей программой.

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