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
Nome | Tipo | Descrição | Obrigatório | Referência |
cDir | Caracter | Diretório a ser removido | X | |
lComplete | Lógico | Remove todo o caminho (.T.) ou apenas o ultimo nível (.F.) ¹ | ||
lKillFiles | Lógico | Remove 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.
- (logico)
- Retorna .T. ou .F. indicando se a remocao foi realizada ou não
FWDirRemove( "\pasta1\pasta2", .T. )