Перейти к содержимому

Как узнать количество файлов в архиве

  • автор:

print2450. Список файлов в архиве

printСписок файлов в архиве

close

Учебные задачи: бинарные файлы

close

01/09/2007 Основы программирования. Бинарные файлы (5)

copy

Ограничения: время – 500ms/1000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)

Дан файл archive.zip, вывести список файлов в zip-архиве.

Последние 22 байта zip-архива содержат следующую информацию:

Смещение Размер Описание
0 4 0x06054b50
4 2
6 2
8 2
10 2 Количество файлов в архиве
12 4
16 4 Смещение от начала архива до списка файлов
20 2 0

Каждый элемент списка файлов содержит следующую информацию:

Смещение Размер Описание
0 4 0x02014b50
4 2
6 2
8 2
10 2
12 2
14 2
16 4
20 4 Размер сжатого файла
24 4 Размер несжатого файла
28 2 Длина имени файла (n)
30 2 Длина дополнительной информации (m)
32 2 Длина комментария (k)
34 2
36 2
38 4
42 4 Смещение от начала архива до сжатого файла
46 n Имя файла
46+n m Дополнительная информация
46+n+m k Комментарий

Для каждого файла вывести его имя, размер сжатого файла и размер несжатого файла

Пример вывода 1

Makefile 78 108 program.c 325 662

Как узнать количество файлов в архиве

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Количество файлов и размер во вложенных папках в архиве

Author24 — интернет-сервис помощи студентам

Привет.
Есть большой архив с кучей вложенных папок
В архиве 122 640 файлов.
После распаковки получается 122 625 файлов.
Надо найти файлы, которые не распаковываются.
Как в архиве посмотреть количество файлов во вложенных папках? И желательно их объем.
В winrar не нашел такой возможности.
Подскажите как это сделать в winrar?
Или может можно с помощью другой программы?

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Определить количество файлов в директории (в том числе и во вложенных папках)
подскажите как узнать кол-во файлов в директории в том числе и во вложеных папках есть код но.

Переименование файлов во вложенных папках
Здравствуйте! Уважаемые программисты, прошу помочь с автоматизацией следующей задачи. Необходимо.

Выполнять поиск файлов во вложенных папках
В продолжение темы https://www.cyberforum.ru/cmd-bat/thread938336.html Выполняю архивацию doc.

Батник удаления файлов во вложенных папках
Добрый день. Есть папка ГлавнаяПапка, в ней есть папки Папка1, Папка2, Папка3, Папка4 и т.д. В.

1045 / 529 / 66
Регистрация: 16.01.2013
Сообщений: 4,093
qazibum, файлы бывают скрытые созданные windows для себя. отобразите скрытые файлы.
из племени тумба-юбма
2461 / 1786 / 415
Регистрация: 29.11.2015
Сообщений: 8,672
Записей в блоге: 15

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

Кликните здесь для просмотра всего текста

# Архив C:\Users\AspireM3400\Documents\Documents.rar 2018-03-18 01:54 0 0 My Games\Crysis\Shaders\Cache\ShaderList.txt 2017-07-28 21:56 2645 1202 My Games\Far Cry 3\GamerProfile.xml 2016-05-21 12:42 28362 1195 My Games\Far Cry 3\TutorialProfile.xml 2018-05-15 01:34 3884 1566 My Games\Far Cry 4\RLD!\GamerProfile.xml 2018-05-15 01:34 8216 917 My Games\Far Cry 4\RLD!\GFXSettings.FarCry464.xml 2018-05-12 21:48 10 10 My Games\Far Cry 4\RLD!\HIDInputRemapper.xml 2018-04-16 15:05 2386644 1819224 My Games\Far Cry 5\benchmarks\benchmark 2018-04-16_15-05-26\result.html 2018-04-16 15:09 2386644 1819215 My Games\Far Cry 5\benchmarks\benchmark 2018-04-16_15-09-29\result.html 2018-04-22 16:12 2386644 1819223 My Games\Far Cry 5\benchmarks\benchmark 2018-04-22_16-12-09\result.html 2018-05-11 23:28 0 0 My Games\Far Cry 5\check.txt 2018-05-11 23:35 5678 2127 My Games\Far Cry 5\gamerprofile.xml 2018-04-15 19:31 141 119 My Games\XCOM - Enemy Unknown\XComGame\Config\XComCamera.ini 2018-04-15 19:31 20981 3457 My Games\XCOM - Enemy Unknown\XComGame\Config\XComCompat.ini 2018-04-15 19:32 49724 4824 My Games\XCOM - Enemy Unknown\XComGame\Config\XComContent.ini 2018-04-15 19:31 162 114 My Games\XCOM - Enemy Unknown\XComGame\Config\XComDLC.ini 2018-04-15 19:32 89127 17359 My Games\XCOM - Enemy Unknown\XComGame\Config\XComEngine.ini 2018-04-15 19:31 5209 1891 My Games\XCOM - Enemy Unknown\XComGame\Config\XComGame.ini 2018-04-15 19:31 16104 2147 My Games\XCOM - Enemy Unknown\XComGame\Config\XComGameData.ini 2018-04-15 19:31 53888 6764 My Games\XCOM - Enemy Unknown\XComGame\Config\XComInput.ini 2018-04-15 19:31 6923 2012 My Games\XCOM - Enemy Unknown\XComGame\Config\XComLightmass.ini 2018-04-15 19:32 34606 3139 My Games\XCOM - Enemy Unknown\XComGame\Config\XComMaps.ini 2018-04-15 19:31 9466 2140 My Games\XCOM - Enemy Unknown\XComGame\Config\XComMetaData.ini 2018-04-15 19:31 49469 8965 My Games\XCOM - Enemy Unknown\XComGame\Config\XComNameList.ini 2018-04-15 19:32 42332 4680 My Games\XCOM - Enemy Unknown\XComGame\Config\XComNarrative.ini 2018-04-15 19:31 1892 633 My Games\XCOM - Enemy Unknown\XComGame\Config\XComUI.ini 2018-04-15 19:32 395564 50628 My Games\XCOM - Enemy Unknown\XComGame\Localization\INT\XComGame.INT 2018-04-15 19:32 327760 86310 My Games\XCOM - Enemy Unknown\XComGame\Localization\INT\XComStrategyGame.INT 2018-04-15 19:32 16345 4594 My Games\XCOM - Enemy Unknown\XComGame\Localization\INT\XComUIShell.INT 2018-04-15 19:32 576942 91321 My Games\XCOM - Enemy Unknown\XComGame\Localization\RUS\XComStrategyGame.RUS 2018-04-15 19:32 33354 6126 My Games\XCOM - Enemy Unknown\XComGame\Localization\RUS\XComUIShell.RUS 2018-04-15 19:31 144 96 My Games\XCOM - Enemy Unknown\XComGame\Logs\EMS\XComDLC.ini 2018-04-15 19:31 16 13 My Games\XCOM - Enemy Unknown\XComGame\Logs\EMS\XComGame.RUS 2018-04-15 19:31 55040 2944 My Games\XCOM - Enemy Unknown\XComGame\Logs\EMS\XComGameCore.ini 2018-04-15 19:32 44015 7486 My Games\XCOM - Enemy Unknown\XComGame\Logs\Launch.log 2018-04-15 19:32 1010 982 My Games\XCOM - Enemy Unknown\XComGame\SaveData\profile.bin 2018-04-15 20:12 141 119 My Games\XCOM - Enemy Within\XComGame\Config\XComCamera.ini 2018-04-15 20:12 20981 3467 My Games\XCOM - Enemy Within\XComGame\Config\XComCompat.ini 2018-04-15 20:12 73581 7908 My Games\XCOM - Enemy Within\XComGame\Config\XComContent.ini 2018-04-15 22:19 81938 16657 My Games\XCOM - Enemy Within\XComGame\Config\XComEngine.ini 2018-04-15 20:12 10577 2986 My Games\XCOM - Enemy Within\XComGame\Config\XComGame.ini 2018-04-15 20:12 35145 4647 My Games\XCOM - Enemy Within\XComGame\Config\XComGameData.ini 2018-04-15 20:12 80038 8246 My Games\XCOM - Enemy Within\XComGame\Config\XComInput.ini 2018-04-15 20:12 6923 2012 My Games\XCOM - Enemy Within\XComGame\Config\XComLightmass.ini 2018-04-15 20:12 82707 5003 My Games\XCOM - Enemy Within\XComGame\Config\XComMaps.ini 2018-04-15 20:12 10460 2373 My Games\XCOM - Enemy Within\XComGame\Config\XComMetaData.ini 2018-04-15 20:12 51109 9249 My Games\XCOM - Enemy Within\XComGame\Config\XComNameList.ini 2018-04-15 20:12 62652 6926 My Games\XCOM - Enemy Within\XComGame\Config\XComNarrative.ini 2018-04-15 20:12 1892 633 My Games\XCOM - Enemy Within\XComGame\Config\XComUI.ini 2018-04-16 13:00 35 35 My Games\XCOM - Enemy Within\XComGame\Logs\EMS\XComGameCore.ini 2018-04-15 20:32 1393261 53666 My Games\XCOM - Enemy Within\XComGame\Logs\Launch-backup-2018.04.15-22.17.48.log 2018-04-16 00:43 7382723 253236 My Games\XCOM - Enemy Within\XComGame\Logs\Launch-backup-2018.04.16-00.43.52.log 2018-04-16 01:05 959343 44626 My Games\XCOM - Enemy Within\XComGame\Logs\Launch-backup-2018.04.16-01.20.04.log 2018-04-16 01:28 541586 24975 My Games\XCOM - Enemy Within\XComGame\Logs\Launch-backup-2018.04.16-03.00.40.log 2018-04-16 04:31 3491609 129262 My Games\XCOM - Enemy Within\XComGame\Logs\Launch-backup-2018.04.16-11.29.19.log 2018-04-16 11:38 556795 26323 My Games\XCOM - Enemy Within\XComGame\Logs\Launch-backup-2018.04.16-13.00.12.log 2018-04-16 13:10 1194058 39297 My Games\XCOM - Enemy Within\XComGame\Logs\Launch.log 2018-04-16 13:10 2433 2264 My Games\XCOM - Enemy Within\XComGame\SaveData\profile.bin 2018-04-16 04:17 912281 442643 My Games\XCOM - Enemy Within\XComGame\SaveData\save1 2018-04-16 11:38 213831 94026 My Games\XCOM - Enemy Within\XComGame\SaveData\save2 2018-04-16 13:10 950812 370070 My Games\XCOM - Enemy Within\XComGame\SaveData\save3 2018-05-12 01:36 336936 336936 CPY_SAVES\CPY\UPLAY\1803\1.save 2018-05-12 01:36 336936 336936 CPY_SAVES\CPY\UPLAY\1803\2.save 2018-03-25 08:10 420288 3983 EA Games\Dead Space 2\ds_slot_01.deadspace2saved 2018-03-25 09:08 420288 22084 EA Games\Dead Space 2\ds_slot_02.deadspace2saved 2018-03-26 22:15 420288 46061 EA Games\Dead Space 2\ds_slot_03.deadspace2saved 2018-03-26 23:40 420288 22738 EA Games\Dead Space 2\ds_slot_04.deadspace2saved 2018-03-27 01:19 420288 52423 EA Games\Dead Space 2\ds_slot_05.deadspace2saved 2018-03-27 14:38 420288 57009 EA Games\Dead Space 2\ds_slot_06.deadspace2saved 2018-03-20 21:22 420288 21123 EA Games\Dead Space 2\ds_slot_07.deadspace2saved 2018-03-21 22:45 420288 33693 EA Games\Dead Space 2\ds_slot_08.deadspace2saved 2018-03-21 23:47 420288 44113 EA Games\Dead Space 2\ds_slot_09.deadspace2saved 2018-03-22 03:21 420288 34741 EA Games\Dead Space 2\ds_slot_10.deadspace2saved 2018-03-22 19:39 420288 57378 EA Games\Dead Space 2\ds_slot_11.deadspace2saved 2018-03-22 19:46 420288 28878 EA Games\Dead Space 2\ds_slot_12.deadspace2saved 2018-03-23 00:30 420288 52058 EA Games\Dead Space 2\ds_slot_13.deadspace2saved 2018-03-23 00:52 420288 34886 EA Games\Dead Space 2\ds_slot_14.deadspace2saved 2018-03-25 06:50 420288 52233 EA Games\Dead Space 2\ds_slot_15.deadspace2saved 2018-03-25 06:40 420288 47672 EA Games\Dead Space 2\ds_slot_16.deadspace2saved 2018-03-25 07:38 420288 62664 EA Games\Dead Space 2\ds_slot_17.deadspace2saved 2018-04-15 19:32 Папка Папка My Games\XCOM - Enemy Unknown\XComGame\Localization\INT 2018-04-15 19:32 Папка Папка My Games\XCOM - Enemy Unknown\XComGame\Localization\RUS 2018-04-15 19:31 Папка Папка My Games\XCOM - Enemy Unknown\XComGame\Logs\EMS 2018-04-15 22:17 Папка Папка My Games\XCOM - Enemy Within\XComGame\Logs\EMS 2018-03-18 01:54 Папка Папка My Games\Crysis\Shaders\Cache 2018-04-16 15:05 Папка Папка My Games\Far Cry 5\benchmarks\benchmark 2018-04-16_15-05-26 2018-04-16 15:09 Папка Папка My Games\Far Cry 5\benchmarks\benchmark 2018-04-16_15-09-29 2018-04-22 16:12 Папка Папка My Games\Far Cry 5\benchmarks\benchmark 2018-04-22_16-12-09 2018-04-15 19:31 Папка Папка My Games\XCOM - Enemy Unknown\Binaries\Win32 2018-04-15 19:31 Папка Папка My Games\XCOM - Enemy Unknown\XComGame\Config 2018-04-15 19:32 Папка Папка My Games\XCOM - Enemy Unknown\XComGame\Localization 2018-04-15 19:31 Папка Папка My Games\XCOM - Enemy Unknown\XComGame\Logs 2018-04-15 19:31 Папка Папка My Games\XCOM - Enemy Unknown\XComGame\SaveData 2018-04-15 20:12 Папка Папка My Games\XCOM - Enemy Within\Binaries\Win32 2018-04-15 20:12 Папка Папка My Games\XCOM - Enemy Within\XComGame\Config 2018-04-16 13:00 Папка Папка My Games\XCOM - Enemy Within\XComGame\Logs 2018-04-15 22:27 Папка Папка My Games\XCOM - Enemy Within\XComGame\SaveData 2018-04-16 15:10 Папка Папка CPY_SAVES\CPY\UPLAY\1803 2018-03-18 01:54 Папка Папка My Games\Crysis\Shaders 2018-05-12 21:48 Папка Папка My Games\Far Cry 4\RLD! 2018-04-22 16:12 Папка Папка My Games\Far Cry 5\benchmarks 2018-04-15 19:31 Папка Папка My Games\XCOM - Enemy Unknown\Binaries 2018-04-15 19:32 Папка Папка My Games\XCOM - Enemy Unknown\XComGame 2018-04-15 20:12 Папка Папка My Games\XCOM - Enemy Within\Binaries 2018-04-15 20:12 Папка Папка My Games\XCOM - Enemy Within\XComGame 2018-04-16 15:00 Папка Папка CPY_SAVES\CPY\UPLAY 2018-03-18 01:54 Папка Папка My Games\Crysis 2018-03-18 01:57 Папка Папка My Games\Far Cry 3 2018-05-12 21:35 Папка Папка My Games\Far Cry 4 2018-05-08 21:16 Папка Папка My Games\Far Cry 5 2018-04-15 19:31 Папка Папка My Games\XCOM - Enemy Unknown 2018-04-15 20:12 Папка Папка My Games\XCOM - Enemy Within 2018-04-16 15:00 Папка Папка CPY_SAVES\CPY 2018-03-25 07:26 Папка Папка EA Games\Dead Space 2 2018-03-23 15:34 Папка Папка Electronic Arts\Dead Space 2018-04-29 18:27 Папка Папка MAGIX Downloads\Installationsmanager 2018-05-12 21:35 Папка Папка My Games 2018-04-16 15:00 Папка Папка CPY_SAVES 2018-03-17 00:39 Папка Папка EA Games 2018-03-23 15:34 Папка Папка Electronic Arts 2018-04-29 18:27 Папка Папка MAGIX Downloads 2018-03-26 17:45 Папка Папка My Cheat Tables # # Всего: Размер Сжат Файлы # 34974620 8671681 121

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Написать сценарий для подсчёта количества файлов в заданной папке, включая файлы во вложенных папках
для командной строки реализация FOR Написать сценарий, который который подсчитает количество.

Получить имя файла и размер файлов в архиве из строки
Доброго времени суток помогите пожалуйста разобраться. Мне необходимо с помощью 7zip работать с.

Посчитать количество файлов в папках с поиском
Люди добрые, помогите п-та, мы сами не местные. задача такова: имеются папки C: * -group .

Удаление всех файлов в папках и под папках, кроме тех в которых в названии есть определенно слово
Всем привет, я так сказать чайник чтоле, я посерфил форум нашел пару похожих тем но всеже не то что.

Или воспользуйтесь поиском по форуму:

Python как быстро получить число элементов архива tar.gz?

Здравствуйте, коллеги!
Есть архив arcname.tar.gz весом в пару ГБ. В этом архиве огромное количество мелких файлов. Много тысяч.
Есть какой-то способ быстро получить число всех файлов в архиве, или хотя бы, число всех элементов, включая каталоги?

with tarfile.open('arc.tar.gz', 'r:gz') as tar: print(len(tar.getmembers())

Да этот метод работает. Возвращает общее число элементов архива. Можно пробежаться по по массиву и выловить информацию, например, только о файлах. Метод всем хорошь, но, блин, долго!
Вышеприведенный код отрабатывает секунд за 15 на i9 и сам файл архива находится на SSD.
Мне же нужно как можно быстрее получить число элементов.

  • Вопрос задан 04 мая 2023
  • 178 просмотров

1 комментарий

Простой 1 комментарий

быстрее чем tar tf test.tgz | wc -l наверное не получится. в этом варианте чтение распаковка и перечисление файлов происходит одновременно на околомаксимальной скорости

Решения вопроса 1

trapwalker

Сергей П @trapwalker Куратор тега Python
Программист, энтузиаст

Не получится из-за специфики устройства tar-файла. Пока весь не прочитаешь, не узнаешь сколько в нём каталогов. Это потоковый формат, а тут он ещё и сжат сверху gzip’ом.

Это как посчитать быстро сколько вещей в чемодане. Пока по одной не вытащишь и каждую не посчитаешь — не узнаешь.
У других архиваторов, например zip, есть индексная табличка. Это как бумажка с перечнем всех вещей в чемодане. Она лежит прямо под крышкой и её можно достать первой.

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

Ответ написан 04 мая 2023
Нравится 9 2 комментария

всего пару гигов весит. а комп — i9 с ссд. однозначно должен делать быстрее

у меня на 2гб архив 500т файлов tar tf test.tgz | wc -l в 2 раза быстрее отрабатывает. чем вариант на питоне

чисто навскидку самое долгое тут это прочитать 2гб. примерно 4 секунды для хорошего ссд

https://github.com/facebook/zstd тут можно посмотреть как быстро работает распаковка у zip. примерно 400мб в сек на i7-9700K CPU @ 4.9GHz

вобщем секунд за 5 должен управиться Ж)

trapwalker

Сергей П @trapwalker Куратор тега Python

be52, Ну так это ж не бинарноым кодом делается, а в питоне. Я, честно сказать, не залядывал в реализацию библиотеки, что там используется, питоновский код, или бинарный вызывается из библиотеки? Если птоновский. то не удивительно, что долго. Сделайте нужный вам подсчет консольной командой и вызывайте ее из питона, если так быстрее получится.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *