procedure xxx(tfn,rootd,dn:string);
var
   f1,f2:textfile;
   s1,s2:string;
  sr: TSearchRec;
  FileAttrs: Integer;
begin
    FileAttrs := 0;
    FileAttrs := FileAttrs+faAnyFile;
    FindFirst(rootd, FileAttrs, sr);
    s1:=sr.Name;
      repeat
            IF sr.Name=dn THEN BEGIN            END ELSE BEGIN
                IF NOT(sr.Name='') THEN xxx(tfn,rootd+sr.Name,dn);
            END;      until FindNext(sr) <> 0;
      FindClose(sr);end;sr.name始终为空,不晓得用findfirst是不是有什么先决条件