Árvore de páginas

Remove um diretório específico.

Sintaxe

DirRemove( < cPath >, [ uParam2 ], [ lChangeCase ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cPath

caractere

Indica o nome do diretório que será removido.

X

 

uParam2

numérico

Parâmetro de compatibilidade. Passar Nil.

 

 

lChangeCase

lógico

Se verdadeiro (.T.), nomes de arquivos e pastas serão convertidos para letras minúsculas; caso contrário, falso (.F.), não será feito nenhum ajuste no nome do arquivo informado. Valor padrão (.T.). Veja maiores informações em Observações.

 

 

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna verdadeiro (.T.), se o diretório for removido com sucesso; caso contrário, falso (.F.).

Observações

  • Caso seja especificado um path sem a unidade de disco, o mesmo será considerado no ambiente do servidor, a partir do RootPath do ambiente (caso o path comece com \ ou /), ou a partir do StartPath do ambiente (caso o path não seja iniciado com \ ou /).
  • Quando um path absoluto é especificado (com unidade de disco preenchida), a função será executada na estação em que o SmartClient está em execução.
  • O valor retornado pela função serve apenas para indicar falha na operação, mas não têm relação com a causa da falha. Para identificar o motivo do erro, devemos chamar a função FError.
  • Ao executar essa função em JOB (processo isolado do servidor, sem interface), não é possível especificar um Path absoluto de disco. Caso isso seja realizado, o retorno da função será .F. e a função FError retornará -1 (Syntax Error).
  • Para remover o diretório, é necessário ter permissão correspondente (incluir, alterar e excluir) e que o mesmo esteja vazio; ou seja, sem subdiretórios ou arquivos.
  • O parâmetro opcional lChangeCase foi introduzido a partir do build 7.00.131227A pois em sistemas LINUX/UNIX, existe a diferenciação entre maiúsculo e minúsculo em nomes de arquivos ou pastas. Quando este parâmetro for informado, terá prioridade sobre comportamento de Case Sensitive definido pelas chaves de ini CASESENSITIVE ou SERVERTYPE. Porem, quando não especificado o parâmetro, o valor padrão (.T.) fica condicionado ao que está configurado nessas chaves.
  • Em ambiente Windows, os nomes de arquivos e pastas não possuem diferenciação entre maiúsculo e minúsculo, logo, a função conseguirá tratar a pasta apontada por cPath independente do valor definido no parâmetro lChangeCase.

Exemplos

user function teste()
  Local cDelPath := "c:\TmpFiles"
  Local lRemoveOk := DirRemove( cDelPath )
  
  if !lRemoveOk
    MsgStop( "Falha ao remover a pasta." )
  else
    MsgStop( "Pasta " + cDelPath + " removida com sucesso." )
  endif
return

Abrangência

Todas as versões

Veja também

  • Sem rótulos