Создание массива файлов по шаблону (hex-счётчик)

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Создание массива файлов по шаблону (hex-счётчик)

Сообщение Mellomann »

Задача - создать файлы с именами по hex-счётчику в виде
  00000000, 00000001, 00000002, ..., FFFFFFFЕ, FFFFFFFF
с содержимым, соответствующим их имени, т.е, с байтами
  00000000, 00000001, 00000002, ..., FFFFFFFЕ, FFFFFFFF
в них.

Руками набивать 4 млн файлов как-то не охота, тем более, что это должно легко автоматизироваться.
Цель - последующий небольшой тест crc32 хеширования с этими файлами. (не суть важно, к задаче отношения не имеет)
Какие будут предложения?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Там 4 миллиарда файлов, а не миллиона. Думаю, папка с таким числом файлов будет бесконечно тормозить...

Код: Выделить всё

MIME-Version: 1.0
Content-Type: application/octet-stream; name="make4G.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="make4G.7z"

N3q8ryccAAPR00JRCgIAAAAAAABfAAAAAAAAAAA1SHkAJpaOcAAX9+wFu+r0/5QBL0TuTr0Jkm3d
gTnz3Weoe6NfFfEa/Y28zsBB2HEdPWzlugty+IIM4hglhy/h80OeyYw5CMe7jUK77wLPQMC9wwpT
+oLa6JFYpM8Y28DVAdEHHSmRUA8npfAuyfKL9SPo8DVhwt1Ll1oMgXAgHRoSeJ3JnPu/T5YCumxV
s/eSHIGsl9bvvVxNegguyxceRlvVsRsTyUW4JU04Se9FZOZqPerhGZyfyPY0gwF4c1kP7mX0QLd9
Xsow82TDS4AhA2OFaPyqBbi9skhwgU1ix+36sHniqwptv3RWxtKRcPIwEVyRx5KTVzLB8u8vyQIr
xCg+pvG86oTPVWbyvNfTGDjOuz4ILMSYe+yKOhcfES8OeBNEegJTLYRSYksK2qxO067KPdhFI9ue
ZSrXi/7qpFHK3SogO9Zbk5Z8PReWHRzm9cHDRpoAestu1QcMLndSDoufnSnZpMsY/ZOfDB2RTdmj
B+Chk+KwoKOUASHBkCUEnbjGCJIkCdlS8ZM0FImwYtaEbsF6PvtRTTmmFuF/1rIR6PVKeIcBnfHD
DkuyAv7YYVuaV8fcz/LsOropHeD4G0b8lcZp98WlFmughO2DItgrh2ut9tPk9HA5V4hVMtl7UwOk
XnSfSeVSQCR5A6lrIem5GHTeirHVle+ciiGvWOQ7zChvKEcUytvzhAABBAYAAQmCCgAHCwEAAiMD
AQEFXQAAAQAEAwMBAwEADIQAhAAACAoB20/CVQAABQERFwBtAGEAawBlADQARwAuAGUAeABlAAAA
FAoBAJerqoMt/cwBFQYBACAIAAAAAA==

Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

Спасибо, опробуем.

Добавлено спустя 9 минут:

Аххх... Малость я, конечно, не ожидал ТАКОГО количества файлов...
Эт ж нужен диск на 2 ТБ, и то, если кластер 512...
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

Windows должна хранить такие маленькие файлы прямо в файловой системе.
в файловой системе NTFS маленькие файлы (размером менее 1Кб) хранятся внутри таблицы размещения файлов (MFT)
Думаю, задача поставлена неверно. Может всё-таки создавать эти файлы перед самим "небольшим тестом"? Или вообще не создавать, а решать по другому.
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

Моторокер
Суть - создать оч много файлов - тот самый максимум, что выдерживает crc32 (2^32) - и прогнать его на проверку одинаковости хешей на каждом последующем файле.
Понятно, что чтобы что-то прохешировать, его нужно создать.
Именно на создание файлов и нужно было решение, которое благополучно делает предоставленая утилита.
Сейчас дело - за малым - найти время всё это сделать.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Mellomann
IMHO, лучше не по файлу создавать, а в один текстовик (или бинарник) вписывать эти хэши. Если бинарный, то в 16 гигабайт файл получается, индексом будет являться исходный текст, переведённый в число и домноженный на 4 (размер хэша в байтах), содержимым — вычисленный хэш.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

Мне кажется, или цель всё-таки другая?

Нужно проверить какой-то массив файлов на наличие файлов с одинаковым хэшем?
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

Моторокер
В перспективе - нужно найти/сделать такие файлы, хеш которых будет идентичен абсолютно другоим файлам.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

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