Amiguinho,
Use a função ADIR():
ADIR([<cFilespec>],
[<aFilenames>],
[<aSizes>],
[<aDates>],
[<aTimes>],
[<aAttributes>]) --> nFiles
Exemplo
Código: Selecionar todos
LOCAL aFiles[ADIR("*.TXT")] // É preparado um vetor para conter os arquivos
ADIR("*.TXT", aFiles) // Os nomes dos arquivos são carregados para o vetor
AEVAL(aFiles, { |element| QOUT(element) }) // O nome de cada arquivo será apresentado na tela
Para afinar mais ainda o trabalho como este voce pode usar Directory()
DIRECTORY(<cDirSpec>, [<cAttributes>]) --> aDirectory
Argumentos:
<cDirSpec> identifica drive, pasta ou especificação de arquivo, *.TXT, *.DOC, etc. Se omitido o default será *.*.
<cAttributes> especifica quais atributos refinarão a pesquisa.
Attributo Descrição
------------------------------------------------------------------------
H Arquivos escondidos
S Arquivos de Sistema
D Pasta ou diretórios
V Pesquisa somente por volume excluindo arquivos
------------------------------------------------------------------------
Returno:
DIRECTORY() returna um vetor com subvetores, onde cada subvetor contem informação de cada arquivo coletado.
Estrutura do subvetor:
Posição Metasimbolo Directry.ch
------------------------------------------------------------------------
1 cName F_NAME
2 cSize F_SIZE
3 dDate F_DATE
4 cTime F_TIME
5 cAttributes F_ATTR
------------------------------------------------------------------------
Examplos:
Código: Selecionar todos
#include "Directry.ch"
//
aDirectory := DIRECTORY("*.*", "D")
AEVAL( aDirectory, {|aFile| QOUT(aFile[F_NAME])} )
Montará um vetor contendo somente informações de pastas.
Código: Selecionar todos
#include "Directry.ch"
//
nTamanho := Directory("AUTOEXEC.BAT")[1][2]
Trará informações sobre o AUTOEXEC.BAT referente ao seu tamanho.
Faça umas pesquisas no forum e voce encontrará mais exemplos.