ExistDir em ADVPL: Como Verificar se uma Pasta ou Diretório Existe no Protheus

Tempo de leitura: 2 minutos

A função ExistDir em ADVPL verifica se uma pasta ou dirétório informado como parâmetro existe. Ela é uma das funções de Manipulação de Arquivos, Discos e IO em ADVPL.

 

🚀 Quer evoluir no ADVPL de verdade?

Receba conteúdos práticos, códigos prontos e dicas que você 

 não aprende na documentação oficial

✔ Funções essenciais do ADVPL
✔ Exemplos reais usados no Protheus
✔ Dicas de debug e performance

🔐 Seu email está seguro. Sem spam.

 

🧠 O que é a função ExistDir em ADVPL?

Se você trabalha com desenvolvimento no Protheus utilizando ADVPL, em algum momento vai precisar verificar se uma pasta ou diretório existe no sistema.

É exatamente para isso que serve a função ExistDir.

Essa função permite validar se um diretório existe antes de executar operações como:

  • Gravação de arquivos
  • Leitura de dados
  • Geração de logs
  • Integrações externas

 

⚠️ Por que é importante validar diretórios no ADVPL?

Um dos erros mais comuns em rotinas ADVPL é tentar manipular arquivos em caminhos que não existem.

Isso pode causar:

  • Falha na execução da rotina
  • Erros silenciosos difíceis de rastrear
  • Problemas em integrações
  • Perda de dados

🛠️ Como usar a função ExistDir no ADVPL

Sintaxe:

ExistDir(cDir, uPar, lMin)

 

Parâmetros

 

Retorno:

 

Exemplo da função ExistDir em ADVPL:

//Bibliotecas
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
#include "TOTVS.CH"

/*{Protheus.doc} User Function fExisDir
    (Essa função tem por finalidade mostrar a função ExistDir em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 08/07/2023
    @version 1.0
    @Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/

@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG

|Se esse conteúdo foi útil pra você nos ajude divulgando 
ele e nossas redes sociais!!|

*/

User Function fExisDir()
	Local cDir :="/system"
	Local cDir2 := "c:/protheusadvpl"

    //Passamos apenas a pasta "\system" para ExistDir
	If(ExistDir(cDir))
		FWAlertInfo("O diretório "+cDir+" existe no Protheus!","Função ExistDir")
	Else
		FWAlertInfo("O diretório "+cDir+" não existe no Protheus!","Função ExistDir")
	EndIf

     //Passamos apenas o caminho completo "c:/protheusadvpl" para ExistDir
	If(ExistDir(cDir2))
		FWAlertInfo("O diretório "+cDir2+" existe nessa máquina!","Função ExistDir")
	Else
		FWAlertInfo("O diretório "+cDir2+" não existe nessa máquina!","Função ExistDir")
	EndIf

Return

🚀 Quer evoluir no ADVPL de verdade?

Receba conteúdos práticos, códigos prontos e dicas que você 

 não aprende na documentação oficial

✔ Funções essenciais do ADVPL
✔ Exemplos reais usados no Protheus
✔ Dicas de debug e performance

🔐 Seu email está seguro. Sem spam.

Bem pessoal e era isso que tínhamos pra falar da função ExistDir, espero que vocês tenham entendido o funcionamento da função, até mais e um grande abraço.

🚀 Quer dominar o Protheus de verdade?
Entre para o ProtheusAdvpl e receba conteúdos exclusivos sobre desenvolvimento, infraestrutura, módulos e carreira no Protheus

✔ Conteúdos organizados por categorias (Programação, Framework, Backoffice e RH)
✔ Dicas práticas usadas no dia a dia do Protheus
✔ Acesso a materiais, post e atualizações do Blog
🔐 Seu email está seguro. Sem spam. Só conteúdo profissional.