AVZ 5. Руководство пользователя
×

16.35.27. function SearchFilesEx

function SearchFilesEx(APath, AMasks : string; AFileList : TStrings; ARecurse : boolean) : integer;
 
Осуществляет поиск файлов в каталоге по заданному набору масок, полные имена найденных файлы помещаются в список AFileList.
Параметры:
  • APath - путь к папке, в которой производится поиск. В пути допустимо указывать макросы, подробнее см. в разделе "макросы, допустимые в именах файлов"
  • AMasks - одна или несколько масок файлов. При указании нескольких масок разделителем является запятая, например "*.exe,*.dll,*.ocx"
  • ARecurse - управление рекурсивным поиском. Если задано значение False, то поиск ведется только в указанном каталоге. Если задано значение True, то запускается рекурсивный поиск по всем подкаталогам заданной папки.
 
Функция возвращает количество файлов, найденных в соответствии с заданными параметрами и 0 в случае ошибки или отсутствия файлов, соответствующих заданным маскам.
 
 
Совместимость: AVZ 5.70 и выше
 
Пример:
 
var
  Lines : TStrings;
  i : integer;
begin
  Lines := TStringList.Create;
  SearchFilesEx('%WinDir%', '*.exe,*.dll', Lines, true);
  for i:= 0 to Lines.Count-1 do
    AddToLog(Lines[i]+', MD5='+
           CalkFileMD5(Lines[i])+
          ', Size='+inttostr(GetFileSize(Lines[i])));
  Lines.Free;
end.
 
В примере использовались: AddToLog, CalkFileMD5, GetFileSize и класс TStringList
Данный пример произведет поиск всех файлов с расширениями *.exe и *.dll в каталоге %WinDir% (данный макрос указывает на папку Windows), поиск будет производиться также во всех подкаталогах указанной папки, для всех найденных файлов в протокол будут выведены их хеш MD5 и размер.