Страница: 1 |
Страница: 1 |
Вопрос: Список файлов на компе
Добавлено: 10.01.07 15:27
Автор вопроса: Makes
Раз уж начал задавать вопросы по оптимизации, то выясню и это.
У меня есть код для нахождения всех файлов на компе. Переделал алгоритм поиска по маске. Получилась медленная процедура, которая перебирает рекурсивно все папки на компе и записывает в файл инфу в виде:
Папка
файл1 (размер) - скрытый или нет
файл2 (размер) - скрытый или нет
Папка\Папка2
файл1 (размер) - скрытый или нет
файл2 (размер) - скрытый или нет
Папка\Папка2\Папка3
файл1 (размер) - скрытый или нет
файл2 (размер) - скрытый или нет
файл3 (размер) - скрытый или нет
файл4 (размер) - скрытый или нет
Отказался от полых путей к файлам для уменьшения размера результирующего файла.
Может быть уже есть библиотеки написанные на Си, которые то же действие реализуют гораздо быстрее или может быть можно как то по другому это сделать?
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #1
Добавлено: 10.01.07 15:46
А чего бы не использовать консольную команду виндов?
типа:
Dir /b/s >c:\files.lst
Подробней взгляни Dir/?
Номер ответа: 2
Автор ответа:
Makes
Вопросов: 8
Ответов: 36
Профиль | | #2
Добавлено: 10.01.07 16:06
Щас посмотрел. Не совсем подходит.
Кириллица не поддерживается.
Нельзя без полных путей выводить.
Если выводить с размером, то очень много лишней инфы.
Может есть другой вариант?
Номер ответа: 3
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #3
Добавлено: 10.01.07 17:10
Кирилица поддерживается! Просто она в ASCII(DOS) кодировке. Можешь через API OemToChar кодировать.
А насчет второго - надо покопаться в коммандной строке (dir/?) - вроде должно быть. Если нет - то наверное пропарсить через Split можно...
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 12.01.07 01:49
DirMap.dll