大体思路用递归
procedure Findfiles(Apath:string);
var
   ASearchRec:TsearchRec;
begin
    Findresult=FindFirst(Apath+'*.*',fadirectory,ASearchRec);
    while Findresult=0 do
       begin
          if ((AsearchRec.attr and fadirectory)=fadirectory) then 
             begin
               if ((AsearchRec.Name<>'.') and (aSearchRec.Name<>'..')) then
                   begin
                     insertPath //目录写入数据库
                     Findfiles(Apath+AsearchRec); 
                   end;
             end
         else if (AsearchRec.attr and fadirectory)=0 then
                 insertFile//写文件到数据库
         FindResult=FindeNext(AsearchRec);
            
       end;
end;