Á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 9 Próxima »

Armazena arquivos e diretórios em um único arquivo no formato TAR (Tape ARchive).

Sintaxe

TarCompress( < aItens >, < cDest >, [ lChangeCase ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

aItens

vetor

Indica os arquivos e diretórios que serão armazenados.

X

 

cDest

caractere

Indica o nome do arquivo que será gerado com a extensão ".tar".

X

 

lChangeCase

lógico

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

 

 

Retorno

Nome

Tipo

Descrição

cFile

caractere

Em caso de sucesso, retorna o nome do arquivo criado, incluindo o rootpath onde o arquivo no formato TAR foi criado; caso dê erro, retorna uma string em branco ("").

Observações

  • Esta função agrupa uma lista de arquivos e/ou diretórios no formato TAR.
  • TarCompress trabalha somente com arquivos e diretórios localizados no servidor (a partir do rootPath do ambiente). Caso seja passado algum arquivo no client, é gerada uma exceção com a mensagem: "Only path on server are allowed".
  • <aItens> deve ser um vetor de uma dimensão contendo strings com os nomes dos arquivos e/ou diretórios a serem agrupados. Caso o vetor tenha mais de uma dimensão, é gerada uma exceção com a mensagem "Argument must be an array of one dimension only".
  • Caso algum dos itens de <aItens> não seja do tipo caracter, ou tenha tamanho 0 (zero), ou o arquivo/diretório não exista, a função retorna uma string em branco e não gera o arquivo TAR.
  • Caso o arquivo ou diretório contido em <aItens> não exista, será exibida a mensagem "File or Directory does not exist".
  • Os caminhos de cada item de aItens e de cDest 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.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 aItens e cDest independente do valor definido no parâmetro lChangeCase. Em ambiente Linux ou Mac, o nome dos arquivos respeita a diferenciação.
  • O caminho do rootpath retornado em cFile será sempre em minúsculo, independente do valor passado em lChangeCase. Já o restante do caminho após o rootpath irá respeitar o valor que está em lChangeCase.

Exemplos

Exemplo 1
user function exemplo()
local aItens := {}
local tarFile := ""

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" )

return

Abrangência

Protheus 10, Protheus 11, Protheus 12

Veja também

 

  • Sem rótulos