Aqui vai o codigo de uma boa aplicação em Visual Basic
Private NumFiles%, FilesNames$()
Private FilesDates() As Date, FilesSizes&()
Sub ScanPath(ByVal Path$, ByVal Files$)
Dim i%, DirCount%, Buf$, DirName$,
Dim FileName$, SubDir$()
Const ATTR_DIRECTORY = 16
On Error Resume Next
'Le os arquivos locais
FileName$ = Dir(Path$ + Files$)
Do While FileName$ <> ""
'Esta inferior ou igual a data solicitada
NumFiles% = NumFiles% + 1
ReDim Preserve FilesNames$(NumFiles%), _
FilesDates(NumFiles%), FilesSizes&(NumFiles%)
FilesNames$(NumFiles% - 1) = LCase(Path$ + _
FileName$)
FilesDates(NumFiles% - 1) = FileDateTime(Path$ + _
"\" + FileName$)
FilesSizes&(NumFiles% - 1) = FileLen(Path$ + _
"\" + FileName$)
FileName$ = Dir
Loop
'Identifica os subdiretorios
DirName$ = Dir(Path$ + "*.*", ATTR_DIRECTORY)
DirCount% = 0
Do While DirName$ <> ""
'Ignora "." e ".."
If DirName$ <> "." And DirName$ <> ".." Then
'E diretorio???
If (GetAttr(Path$ + DirName$) And _
ATTR_DIRECTORY) = ATTR_DIRECTORY Then
'Sim, adiciona
DirCount% = DirCount% + 1
ReDim Preserve SubDir$(DirCount%)
SubDir$(DirCount% - 1) = DirName$
End If
End If
DirName$ = Dir
Loop
For i% = 0 To DirCount% - 1
'Faz uma recursividade, varrendo subdiretorios
'deste diretorio
Call ScanPath(Path$ + SubDir$(i%) + "\", Files$)
Next
End Sub
ñ é de minha autoria, mas achei importante postá-la, xpero que gostem,.........
fuiiiiiiiiiiiiiiii,............