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

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

Previous pageReturn to chapter overviewNext page

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

 

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

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, указывающий, следует ли сканировать вложенные каталоги.