Поиск файла на диске

Наверх  Назад  Вперед |

Задача - произвести поиск на диске файла с заданным именем. Данная задача решается при помощи следующего скрипта:

 

// Сканирование папки (с рекурсивным обходом)

Procedure ScanDir(ADirName : string; AScanSubDir : boolean);

var

 FS : TFileSearch;

begin

 ADirName := NormalDir(ADirName);

 FS := TFileSearch.Create(nil);

 FS.FindFirst(ADirName + '*.*');

 while FS.Found do begin

  SetStatusBarText(ADirName + FS.FileName);

  if FS.IsDir then begin

   if AScanSubDir and (FS.FileName <> '.'and (FS.FileName <> '..'then 

    ScanDir(ADirName + FS.FileName, AScanSubDir)

  end else

   if LowerCase(FS.FileName) = 'trojan.dll' then 

    AddToLog('Найден файл '+ADirName + FS.FileName);

  FS.FindNext;

 end;

 FS.Free;

end;

 

begin

 ScanDir('c:\', true);

end.

 

В данном примере функция ScanDir применяется для рекурсивного обхода каталогов. Функция получает два параметра - имя каталога для сканирования и параметр AScanSubDir, указывающий, следует ли сканировать вложенные каталоги.