Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 6 Próxima »

Restaura os arquivos e diretórios contidos em um arquivo no formato TAR (Tape ARchive)

Sintaxe

TarDecomp( < cTarFile >, < cOutDir >, [ @nFilesOut ], [ lChangeCase ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cTarFile

lChangeCase

caractere

lógico

Indica o nome do arquivo ( com formato TAR ) cujo conteúdo será restaurado.

Indica se colocará o nome dos arquivos em letra minúscula.

X

 

cOutDir

caractere

Indica o diretório onde os arquivos, contidos no arquivo TAR, serão restaurados.

X

 

nFilesOut

numérico

Retorna o número de arquivos extraídos na operação.

 

X

lChangeCase

lógico

Indica se colocará o nome dos arquivos em letra minúscula.

 

 

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna verdadeiro (.T.), se a descompactação for realizada com sucesso; caso contrário, retorna falso (.F.).

Observações

  • Esta função somente extrai arquivos agrupados no formato TAR.
  • Esta função trabalha somente com arquivos e diretórios localizados no servidor (a partir do rootPath do ambiente).
  • Caso seja passado em cTarFile o caminho de algum arquivo no cliente, é gerada uma exceção com a mensagem: "Only path file on server are allowed"; caso seja passado em cOutDir o caminho de alguma pasta no cliente, é gerada uma exceção com a mensagem: "Only path dir on server are allowed".
  • nFilesOut está disponível em builds superiores a 7.00.111010A.
  • Antes de extrair o arquivo, verifique o espaço em disco, disponível na unidade de disco, e/ou as permissões para criação e alteração de arquivos e diretórios.
  • Caso <cTarFile> não exista, será exibida a mensagem "Server File not found on TarDecomp()"; caso não exista <cOutDir>, será exibida a mensagem "Server Directory not found on TarDecomp()".
  • Caso <cOutDir> seja uma string vazia, é gerada uma exceção com a mensagem: "Invalid empty target path for TarDecomp".
  • Se nada for extraído do arquivo, será exibida a mensagem: "No files extracted on TarDecomp()".
  • Os caminhos de cOutDir, cTarFile, e dos arquivos e/ou pastas contidos em cTarFile serão convertidos para letra minúscula. A partir da build 7.00.121227A, os caminhos não serão convertidos para letra minúscula para Logix.
  • A partir da build 7.00.120420A, o comportamento de mudança para letra minúscula, para Linux, pode ser alterado modificando o valor da chave CaseSensitive, na seção General, do arquivo ini do TOTVS | Application Server. Essa mudança impacta outras funções que também tratam arquivos.
  • A partir da build 7.00.131227A foi criado o parâmetro lChangeCase, que se for definido com o valor .T., altera o nome dos arquivos para letra minúscula, e se for .F. não altera o nome dos arquivos. O valor padrão do parâmetro é .T..
  • Em ambiente Windows, os nomes de arquivos não possuem diferenciação entre maiúsculo e minúsculo, logo, a função conseguirá tratar os arquivos apontados por cOutDir e cTarFile independente do valor definido no parâmetro lChangeCase. Em ambiente Linux ou Mac, o nome dos arquivos respeita a diferenciação.

Exemplos

Exemplo 1
user function exemplo()
  local aItens := {}
  local tarFile := ""
  local lRet := .F.
  
  aAdd( aItens, "\file1.txt" )
  aAdd( aItens, "\file2.txt" )
  aAdd( aItens, "\file3.txt" )
  aAdd( aItens, "\testdir\folderA" )
  aAdd( aItens, "\testdir\folderB\file1-folderB.txt" )
  aAdd( aItens, "\testdir\folderB\file2-folderB.txt" )
  aAdd( aItens, "\testdir\folderB\file3-folderB.txt" )
  
  // cria o arquivo tar
  tarFile := tarCompress( aItens, "\testdir\file.tar" )
  
  // restaura o conteúdo do tar
  lRet := tarDecomp( "\testdir\file.tar", "\testdir2" )
return

Abrangência

Protheus 10, Protheus 11, Protheus 12

Veja também

 

  • Sem rótulos