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 | caractere | Indica o nome do arquivo ( com formato TAR ) cujo conteúdo será restaurado. | 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.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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas