Articles

Perguntas Frequentes (FAQ)

  • Frequências Frequentes ao Utilizador
  • Frequências Frequentes ao Desenvolvedor

Frequências Frequentes ao Utilizador

Posso usar o 7-Zip numa organização comercial?

Sim, o 7-Zip é software livre. Pode utilizá-lo em qualquer computador. Não precisa de se registar ou pagar pelo 7-Zip.

Como posso definir associações de ficheiros para 7-Zip no Windows 7 e Windows Vista?

Tem de executar o 7-Zip File Manager no modo administrador. Depois pode alterar as associações de ficheiros e algumas outras opções.

Porquê os arquivos 7z criados pela nova versão do 7-Zip podem ser maiores que os arquivos criados pela versão antiga do 7-Zip?

Novas versões do 7-Zip (a partir da versão 15.06) usar outra ordem de classificação de ficheiros por defeito para arquivos 7z sólidos.

Versão antiga de 7-Zip (antes da versão 15.06) usava ordenação de ficheiros “por tipo” (“por extensão”).

Nova versão de 7-Zip suporta duas ordens de ordenação:

  • ordenação por nome – ordem padrão.
  • ordenação por tipo, se ‘qs’ estiver especificado no campo Parâmetros na janela “Adicionar ao arquivo”, (ou -mqs mudar para versão de linha de comando).

P>É possível obter uma grande diferença na taxa de compressão para diferentes métodos de ordenação, se o tamanho do dicionário for menor do que o tamanho total dos ficheiros. Se houver ficheiros semelhantes em pastas diferentes, a ordenação “por tipo” pode fornecer uma melhor taxa de compressão em alguns casos.

Nota que a ordenação “por tipo” tem alguns inconvenientes.Por exemplo, os volumes NTFS usam ordem de classificação “pelo nome”, por isso se um arquivo usa outra classificação, então a velocidade de algumas operações para ficheiros com ordem invulgar pode cair em dispositivos HDD (os HDD têm baixa velocidade para operações de “procura”).

P>Pode aumentar a taxa de compressão com os seguintes métodos:

  • Increase dictionary size. Pode ajudar quando ‘qs’ não é utilizado.
  • Escrever ‘qs’ no campo Parâmetros (ou utilizar -mqs switch para versão de linha de comando).

Se achar que a ordem de ficheiro invulgar não é problema para si, e se uma melhor taxa de compressão com pequeno dicionário for mais importante para si,utilize o modo ‘qs’.

Porque não pode 7-Zip abrir alguns arquivos ZIP?

Em 99% destes casos, significa que o arquivo contém cabeçalhos incorrectos.Outros programas ZIP podem abrir alguns arquivos com cabeçalhos incorrectos, uma vez que estes programas simplesmente ignoram os erros.

Se tiver tal arquivo, por favor não chame os programadores 7-Zip para o saber.Em vez disso, tente encontrar o programa que foi utilizado para criar o arquivo e informar os programadores desse programa que o seu software não é compatível com ZIP.

Há também alguns arquivos ZIP que foram codificados com métodos não suportados pelo 7-Zip,por exemplo, WAVPack (WinZip).

Por que não pode 7-Zip abrir alguns arquivos RAR?

7-Zip 9.20 suporta apenas formatos RAR 2/3/4 e não suporta arquivos RAR5.mas as versões mais recentes do 7-Zip suportam arquivos RAR5.

Porquê arrastar e largar a extracção de arquivos do 7-Zip para o Explorer usa ficheiros temporários?

7-Zip não sabe o caminho de pastas do alvo de largada. Só o Windows Explorer sabe o alvo exacto de largada. E o Windows Explorer precisa de ficheiros (fonte de arrastar) como ficheiros descomprimidos no disco.Então o 7-Zip extrai ficheiros do arquivo para a pasta temp e depois o 7-Zip notifica o Explorador do Windows sobre os caminhos destes ficheiros temporários. Depois o Explorador do Windows copia estes ficheiros para a pasta drop target.

Para evitar a utilização de ficheiros temporários, pode usar o comando Extract do 7-Zip ou arrastar e largar do 7-Zip para o 7-Zip.

Por que razão a versão de linha de comando não adiciona ficheiros sem extensões a um arquivo?

Vocês provavelmente estão a usar um wildcard *.*. O 7-Zip não utiliza o analisador de máscara do sistema operativo, e consequentemente trata *.* como qualquer ficheiro que tenha uma extensão. Para processar todos os ficheiros deve usar o curinga * em vez dele ou omitir completamente o curinga.

Porque é que o -r switch não funciona como esperado?

Na maioria dos casos não precisa do -r switch.7-Zip pode comprimir subpastas mesmo sem -r switch.

Exemplo 1:

 7z.exe a c:\a.7z "C:\Program Files"

comprime “C:\Program Files” completamente, incluindo todas as subpastas.

Exemplo 2:

 7z.exe a -r c:\a.7z "C:\Program Files"

comprime “Ficheiros de Programas” em todas as subpastas de C:\ (por exemplo, em “C:\WINDOWS”).

Se precisar de comprimir apenas ficheiros com alguma extensão, pode usar -r switch:

 7z a -r c:\a.zip c:\dir\*.txt 

comprime todos *.txt files from folder c:\dir\ and all it’s subfolders.

How can I store full path of file in archive?

7-Zip stores only relative paths of files (without drive letter prefix).Pode alterar a pasta actual para pasta que é comum para todos os ficheiros que pretende comprimir e depois pode usar caminhos relativos:

 cd /D C:\dir1\ 7z.exe a c:\a.7z file1.txt dir2\file2.txt

Porque não pode 7-Zip usar um grande dicionário em Windows de 32-bit?

32-bit Windows atribui apenas 2 GB de espaço virtual por cada aplicação. Também esse bloco de 2 GB pode ser fragmentado (por exemplo, por algum ficheiro DLL), pelo que o 7-Zip não pode alocar um grande bloco contíguo de espaço virtual. Não existem tais limitações em Windows de 64 bits. Portanto, pode utilizar qualquer dicionário no Windows x64, se tiver requerido quantidade de RAM física.

Como posso instalar o 7-Zip em modo silencioso?

Para o instalador exe: Use o parâmetro “/S” para fazer uma instalação silenciosa e o parâmetro /D=”C:\Program Files\7-Zip” para especificar o “directório de saída”. Estas opções são sensíveis a maiúsculas e minúsculas.

Para o instalador msi: Utilize os parâmetros /q INSTALLDIR=”C:\Program Files\7-Zip”.

Como posso recuperar arquivo 7z corrompido?

Existem alguns casos possíveis quando o arquivo está corrompido:

  • Pode abrir o arquivo e pode ver a lista de ficheiros, mas quando carrega no comando Extrair ou Testar, existem alguns erros: Erro de Dados ou Erro CRC.
  • Quando abre arquivo, recebe a mensagem “Can not open file ‘a.7z’ as archive”

É possível recuperar alguns dados. Leia sobre o procedimento de recuperação:

Recuperar arquivo 7z corrompido

FAQ do programador

Por que existem erros de ligação quando compilo 7-Zip ou LZMA SDK com Visual C++ 6.0?

Para compilar fontes precisará do Visual C++ 6.0 ou de uma versão posterior. Alguns ficheiros também requerem uma nova plataforma SDK da microsoft.com:

Se estiver a utilizar MSVC, especifique os directórios SDK no topo das listas de directórios “Include files” e “Library files”. Estes podem ser encontrados em “Ferramentas / Opções / Directórios”.

A última plataforma SDK não é compatível com MSVC6. Portanto, deve utilizar o Windows Server 2003 PSDK (Fevereiro 2003) com MSVC6.

Posso utilizar os ficheiros EXE ou DLL do 7-Zip numa Aplicação Comercial?

Sim, mas deve especificar na sua documentação (1) que utilizou partes do programa 7-Zip, (2) que o 7-Zip está licenciado sob a licença GNU LGPL e (3) deve dar um link para www.7-zip.org, onde o código fonte pode ser encontrado.

Como posso adicionar suporte para os arquivos 7z à minha aplicação?

Uma maneira é usar a 7z.dll ou 7za.dll (disponível em sf.net para download). A 7za.dll funciona através de interfaces COM. Contudo, não utiliza interfaces COM padrão para a criação de objectos. Pode encontrar um pequeno exemplo na pasta “CPP\7zip\UI\Client7z” no código fonte. Um exemplo completo é o próprio 7-Zip, uma vez que o 7-Zip também funciona através desta dll. Existem outras aplicações que utilizam 7za.dll como WinRAR, PowerArchiver e outras.

A outra forma é chamar a versão de linha de comando: 7za.exe.

Posso utilizar o código fonte do 7-Zip numa aplicação comercial?

Desde que o 7-Zip esteja licenciado sob a GNU LGPL deve seguir as regras dessa licença. Em resumo, significa que qualquer código LGPL’ed deve permanecer licenciado sob a LGPL. Por exemplo, pode alterar o código de 7-Zip ou escrever um invólucro para algum código de 7-Zip e compilá-lo numa DLL; mas, o código fonte dessa DLL (incluindo as suas modificações / adições / invólucros) deve ser licenciado sob a LGPL ou GPL.Qualquer outro código na sua aplicação pode ser licenciado como desejar.Este esquema permite aos utilizadores e programadores alterar o código LGPL’ed e recompilar essa DLL. Esta é a ideia de software livre. Leia mais aqui: https://www.gnu.org/.You também pode ler sobre o LZMA SDK, que está disponível sob uma licença mais liberal.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *