Home

Linha Microsiga Protheus

Árvore de páginas
Ir para o final dos metadados
Ir para o início dos metadados

Função: FWDirRemove

Função para remover diretórios, com a vantagem de remover somente o ultimo nível ou todo o caminho.

FWDirRemove ( < cDir >, [ lComplete ], [ lKillFiles ] ) --> lRet

 

NomeTipoDescriçãoObrigatórioReferência
cDir CaracterDiretório a ser removidoX 
lComplete LógicoRemove todo o caminho (.T.) ou apenas o ultimo nível (.F.) ¹  
lKillFiles LógicoRemove os arquivos antes de tentar remover o diretório  

¹ Esse parâmetro visa facilitar a exclusão do caminho completo, mas só pode ser executado quando todo o caminho estiver vazio. Sua finalidade é fazer o caminho contrário da função http://tdn.totvs.com/display/public/mp/FWMakeDir

Exemplo:

//Criar a pasta1 e dentro dela a pasta2
FWMakeDir( "c:\pasta1\pasta2" )

//... trecho onde as pastas são utilizadas

//Remoção da pasta2 e posteriormente da pasta1
FWDirRemove( "c:\pasta1\pasta2", .T. )

Caso após ter utilizado as pastas você tenha excluído todos os arquivos que foram criados nelas, a FwDirRemove vai conseguir excluir o caminho todo. Caso tenha sobrado algum arquivo a exclusão vai ser executada apenas até chegar nesse arquivo que sobrou.

Dica: Caso a intenção seja excluir tudo sem se preocupar com o conteúdo, a forma mais fácil é mandar excluir a pasta principal com o parâmetro lKillFiles ativo:

FWDirRemove( "\pasta1", .F., .T. )

* Por se tratar de uma função recursiva, ao pedir para excluir uma pasta a exclusão é propagada para todos as pastas filhas dela.

Sendo assim, o parâmetro lKillFiles só é utilizado quando se está excluindo a pasta solicitada e suas filhas, nunca é utilizado quando se está tentando excluir o caminho, pois nesse caso correria-se o risco de excluir arquivos indesejados.

 

lRet
    (logico)
  • Retorna .T. ou .F. indicando se a remocao foi realizada ou não
FWDirRemove( "\pasta1\pasta2", .T. )

 

  • Sem rótulos