Вывести список или извлечь файл из рекурсивного архивного файла без полного извлечения
Есть ли способ перечислить все файлы без извлечения всех файлов? AFAIK, текущие инструменты могут перечислять каталоги / файлы, но не могут обрабатывать вложенные архивы. Например, могу ли я перечислить все файлы в archive.tar.gz и извлечь только файл 4 без извлечения всех файлов? Я думаю, что теоретически это можно сделать, анализируя заголовки архива и извлекая только нужные файлы, но прежде чем я начну делать это с нуля, я хотел бы знать, существуют ли какие-либо инструменты / библиотеки для этого. Благодарю.
archive.tar.gz
|----file1
|----dir1
| |----file2
|----archive1.tar
|----file3
|----archive2.tar.bz2
|----file4
1 ответ
Вы пробовали команду списка 7-Zip? Я не уверен, что это работает с файлами.tar, и у меня нет того, чтобы проверить. Однако, если вы посмотрите в файлах справки в 7-Zip под командами командной строки, вы найдете опцию списка и переключатели, которые идут с ним. Там основной пример:
7z l archive.zip
Тем не менее, ваш, вероятно, будет выглядеть примерно так:
"C:\Program Files\7-Zip\7z.exe" l "\\Server\Folder\Archive.7z" "-ir!OurPrograms\TestFile.txt"
В настоящее время я пытаюсь выяснить, как сделать что-то с помощью команды list в vbscript. Если вы хотите оформить заказ, перейдите по ссылке: https://community.spiceworks.com/topic/2127324-file-exists-in-7-zip-archive
Удачи!