Assasin писал(а):
На диске хранится бинарная инфа, а вот файловая система уже пользуется диском
Разумеется.
Просто для краткости изложения, что интересуют решения не только на уровне ОС, но и драйверов к железу.
Чтобы не разводить словесную бодягу с MFT(Главная файловая таблица) в NTFS и..., или FAT-таблицами.
И в зависимости от реализации, может быть, действительно, чья-нибудь файловая система хранит подобные цифры.
На ранних Mac OS и Apple II в HFS - точно было, сам ковырял. Сейчас на HFS+ - не знаю.
andrestudio, Спасибо!
Вроде консольное пошустрей работает, но как это они делают?
Попробую украсить эту идею квадратиками, может чего и выйдет.
P.S.
Чего-то не стабильно работает. Наверное из-за того, что ей нужны короткие имена.
Постоянно ошибается с некоторыми директориями.
flint2 писал(а):
Вроде консольное пошустрей работает
Это я погорячился.
На каждую директорию выводит текстовую информацию из нескольких строк - от этого и тормоза.
P.S.
В NT есть ф-ция NtQueryDirectoryFile(...,OUT PVOID FileInformation,...);
которая возвращает в буфере FileInformation сразу все файлы (и папки) в заданной директории.
После этого достаточно пробежаться по буферу, чтобы например узнать количество файлов.
Для определения 197 тысяч файлов на диске X:\ обычным образом выполняется порядка 70 секунд, в то время как если использовать эту функцию, то количество файлов нарисуется секунды за 3-4.
Нашел NT DDK с примером на Си. Буду переводить на Delphi.
Продолжение следует.