TarCompress [AS]
Autor: Eurai Criado: 01/01/2016 Atualizado: 27/07/2021Descrição
Armazena arquivos e diretórios em um único arquivo no formato TAR (Tape ARchive). |
Sintaxe
TarCompress( |
Parâmetros
Par | Nome | Tipo | Descrição | Default | Obg | Ref |
01 |
aItens | Array | Indica os arquivos e diretórios que serão armazenados | X | ||
02 | cDest | Caracter | Indica o nome do arquivo que será gerado com a extensão ".tar" | X | ||
03 | lChangeCase | Boolean | Indica se colocará o nome dos arquivos em letra minúscula |
Retorno
Retorno | Tipo | Descrição |
cRet | Caracter |
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 (""). |
Exemplo
#INCLUDE "TOTVS.CH" User Function TarCompress() Local cNomeArq := '' Local aItens := {} aAdd( aItens, "\calculo.txt" ) aAdd( aItens, "\path\calculo.LOG" ) cNomeArq := tarCompress( aItens, "\arquivos.tar" ) If !Empty( cNomeArq ) Conout( 'Compactado com Sucesso' ) Endif Return( Nil )
Resultado
Informações adicionais
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" |
|
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.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 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 |
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎