FindFirst('C:\abc.*', FaAnyfile, DirInfo)
FindFirst('D:\abc.*', FaAnyfile, DirInfo)
FindFirst('E:\abc.*', FaAnyfile, DirInfo)
FindFirst('F:\abc.*', FaAnyfile, DirInfo)

解决方案 »

  1.   

    我这有一个函数或许对你有帮助,里面用到了递归
    //==============================================================================
    //统计指定目录下指定类型文件数量(包括子目录)**********************************
    //==============================================================================
    function FileCount(DirName,FileType:string): Integer;
    var
      DirInfo: TSearchRec;
      DosError: Integer;
    begin
      Result := 0;
      DosError := FindFirst(DirName+'\*.*', FaAnyfile, DirInfo);
      while DosError = 0 do
      begin
        if ((DirInfo.Attr and FaDirectory)= faDirectory) and (DirInfo.Name<>'.') and (DirInfo.Name<>'..')
        then Result := Result + FileCount(DirName + '\' + DirInfo.Name, FileType);
        if ((DirInfo.Attr and FaDirectory <> FaDirectory) and (DirInfo.Attr and FaVolumeId <> FaVolumeID))
        then
          if Pos(UpperCase(Copy(FileType,Pos('*',FileType)+1,Length(FileType)-1)),UpperCase(DirInfo.Name))>0
          then Inc(Result);
        DosError := FindNext(DirInfo);
      end;
      SysUtils.FindClose(DirInfo);
    end;