ret := findFirst(key, faanyfile, search);
  while ret = 0 do begin
    if ((search.Attr and fadirectory) = faDirectory)
      then begin
      if (Search.Name <> '.') and (Search.name <> '..') then
        CopyDirectory(SourcePath + Search.name,TargetPath+search.Name);
    end else begin
      if ((search.attr and fadirectory) <> fadirectory) then
      begin
          //do something
      end;
    end;
    ret := FindNext(search);
  end;