Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 5 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

:) Кто может наиболее полно описать алгоритм перебора всех каталогов диска!



Партнер
 

Member
Статус: Не в сети
Регистрация: 24.11.2005
Откуда: Irkutsk
1. Переходим в корневой каталог
2. Получаем список файлов и папок
Далее рекурсивная процедура
3. Читаем имеющиеся файлы и что-то с ними делаем
4. Читаем первый попавшийся в списке каталог
5. Переходим в него.
6. Начинаем с 3 пункта

И все...... Вот исходник на паскале мож поможет :)

var
CmdName:String;
const
Needfile='*.*';

Procedure FntDir(path:string); {Процедура поиска файлов на диске}
var s:searchrec;
begin
findfirst(path+'\*.*',$10,s);
while doserror=0 do
begin
if ((s.attr and $10)=$10) and (s.name<>'.') and (s.name<>'..') then
fntdir(path+'\'+s.name);
findnext(s);
end;
findfirst(path+'\'+needfile,anyfile,s);{поиск нужного файла}
while doserror=0 do begin
CmdName:=(Path+'\'+s.name);
findnext(s);
end;
end;
end;

_________________
-=O-v-e-r-c-l-o-c-k=-


 

после того как я дошел до последнего уровня вложености,
как возвратится на один уровень вложености, и продолжить поиск!


 

Member
Статус: Не в сети
Регистрация: 24.11.2005
Откуда: Irkutsk
sk1 писал(а):
после того как я дошел до последнего уровня вложености,
как возвратится на один уровень вложености, и продолжить поиск!

см. исходник выше! При использовании рекурсивного прохода после прохождения последнего уровня вложенности процедура сама возвращается на уровень выше...
ЗЫ Почитай литературу по рекурсии.....

_________________
-=O-v-e-r-c-l-o-c-k=-


 

Member
Статус: Не в сети
Регистрация: 05.01.2005
sk1
sk1 писал(а):
алгоритм перебора всех каталогов диска!

При выполнении поиска по всему диску для NTFS обязательно, а для FAT32 желательно исключить из обработки папку "System Volume Information".
Также нелишним будет исключить и папку "RECYCLER".
Для этих папок существуют свои методы доступа, пытаться юзать их обычным поиском не есть хорошо.
Также с учетом среднестатистического количества файлов, которое вполне может достигать десятков тысяч на одном разделе поиск лучше производить в отдельном потоке.
Все ессно ИМХО. :)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 5 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan