Вот ещё вариант с подпапками:
Код:
Var
Sl: TStringList;
Procedure FindFile(Dir: String);
Var
SR: TSearchRec;
FR: Integer;
begin
FR:= FindFirst(Dir+'*.*', faAnyFile, SR);
While FR = 0 Do
Begin
if ((SR.Attr and faDirectory) = faDirectory) and
((SR.Name = '.') or (SR.Name = '..')) Then
begin
FR:= FindNext(SR);
Continue;
end;
if ((SR.Attr and faDirectory) = faDirectory) Then
begin
FindFile(Dir+SR.Name+'\');
FR:= FindNext(SR);
Continue;
end;
Sl.Add(Dir+SR.Name);
FR:= FindNext(SR);
end;
FindClose(SR);
end;
Procedure TForm1.Button1Click(Sender: TObject);
begin
Sl:= TStringList.Create;
FindFile('C:\Temp\');
Sl.SaveToFile('C:\23.txt');
Sl.Free;
end;