在一大文件夹里面有若干文件夹和文件,若干文件夹也有若干文件夹和文件.....
请问怎样才能够提取该大文件夹目录下的所有文件?

解决方案 »

  1.   

    procedure FindFiles(Apath:string);
    var
        FSearchRec,DSearchRec:TSearchRec;
        FindResult:integer;begin
        if apath[length(apath)]<>'\' then apath:=apath+'\';
        FindResult:=FindFirst(Apath+'*.*',faAnyFile+faHidden+faSysFile+faReadOnly,FSearchRec);
        try
           while FindResult=0 do
           begin
               if pos(LowerCase(ExtractFileExt(FSearchRec.Name)),'.tif.bmp.jpg.gif')>0 then
               Form1.ListBox1.Items.Add(Apath+FSearchRec.Name);
               FindResult:=FindNext(FSearchRec);
           end;
           FindResult:=FindFirst(Apath+'*.*',faDirectory,DSearchRec );
           while FindResult =0 do
           begin
               if ((DSearchRec.Attr and fadirectory)=fadirectory) and (leftstr(DSearchRec.Name,1)<>'.') then
                   FindFiles(Apath+DSearchRec.Name);
               FindResult:=FindNext(DSearchRec );
           end;
        finally
           FindClose(FSearchRec);
        end;
    end;