|
|
|
|
|
Dicas
|
|
Visual Basic (Arquivos/Diretórios)
|
|
|
Título da Dica: Procurar um arquivo em diretórios e subdiretórios
|
|
|
|
Postada em 8/10/2000 por Webmaster
webmaster@vbweb.com.br
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
|
|
|
|
|