Copiar vários arquivos de uma pasta a outra | Ti Responde 011

No vídeo de hoje, iremos responder a dúvida de como copiar vários arquivos de uma pasta para outra em AdvPL.

Hoje, a dúvida foi feita pelo grande Abel, onde ele precisava percorrer todos os arquivos com uma extensão de uma pasta e copiar para outra.

Com isso em mente, fiz um vídeo explicando onde o primeiro passo seria buscar todos os arquivos com a função aDir (pode ser usado também a Directory), e depois um laço de repetição usando a função __CopyFile.

E abaixo o código fonte desenvolvido para exemplificar:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zVid11
Função de exemplo copiando vários arquivos de uma pasta local para o servidor
@type  Function
@author Atilio
@since 28/01/2022
/*/

User Function zVid11()
    Local aArea     := FWGetArea()
    Local cPastaLoc := "C:\spool\"
    Local cPastaDat := "\x_temp\"
    Local aArquivos := {}
    Local nAtual    := 0

    //Se a pasta não existir na Protheus Data, cria
    If ! ExistDir(cPastaDat)
        MakeDir(cPastaDat)
    EndIf

    //Busca todos os pdfs da pasta local
    aDir(cPastaLoc + "*.pdf", aArquivos)

    //Percorre todos os arquivos
    For nAtual := 1 To Len(aArquivos)
        __CopyFile(cPastaLoc + aArquivos[nAtual], cPastaDat + aArquivos[nAtual])
    Next

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta