Histórico da Página
...
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ógicoIndica se colocará o nome dos arquivos em letra minúscula | Se verdadeiro (.T.), nomes de arquivos e pastas serão convertidos para letras minúsculas; caso contrário, falso (.F.), não será feito nenhum ajuste no nome do arquivo informado. Valor padrão (.T.). Veja maiores informações em Observações. |
|
|
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.). |
...
- 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 O parâmetro opcional lChangeCase foi introduzido a partir do 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.131227A pois em sistemas LINUX/UNIX, existe a diferenciação entre maiúsculo e minúsculo em nomes de arquivos ou pastas. Quando este parâmetro for informado, terá prioridade sobre comportamento de Case Sensitive definido pelas chaves de ini CASESENSITIVE ou SERVERTYPE. Porem, quando não especificado o parâmetro, o valor padrão (.T.) fica condicionado ao que está configurado nessas chaves.
- 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
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
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 |
...
Protheus 10, Protheus 11, Protheus 12
Veja também
...