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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas