Como eu desabilito a verificação do diretório 7-Zip para diretórios que não devem ser compactados e adicionados ao arquivo?

2

O 7-Zip é uma ferramenta incrível, mas às vezes funciona de uma maneira estranha. Considere o seguinte diretório D:\dir layout:

foo   <DIR>
bar   <DIR>
baz   <DIR>
empty <DIR> -- this directory is empty by intention

Agora, ao executar os seguintes comandos:

>D:
>cd D:\dir
>7z a -r -bb3 -mx9 -mmt -ms empty.7z empty
7-Zip [64] 16.04 : Copyright (c) 1999-2016 Igor Pavlov : 2016-10-04

Scanning the drive:
    0M Scan foo\bar\baz

Por algum motivo, o 7-Zip verifica diretórios que não são relevantes para o processo de compactação. Isso é relevante para o 7-Zip [64] 16.04, mas funcionou assim em versões muito mais antigas. Não tenho certeza se também é reproduzível no Linux.

Como faço para desativar a varredura e fazer o 7-Zip analisar o diretório especificado apenas de forma recursiva?

Editar

Igor Pavlov, o criador do 7-Zip, gentilmente me esclareceu como 7z funciona para tal cenário.

    
por Lyubomyr Shaydariv 02.04.2017 / 08:39

1 resposta

2

Eu estava fazendo a mesma pergunta nos fóruns oficiais do 7-Zip e consegui a resposta de Igor Pavlov. Eu gostaria de obter a resposta de Igor no site, mas ele parece não ter uma conta aqui. Ele sugere apenas remover a opção -r , pois 7z usa a pesquisa recursiva por padrão:

Your command searches empty file or folder in all subfolders.
Remove -r switch.

http://7-zip.org/faq.html

Aqui está o respectivo trecho do FAQ oficial:

Why doesn't -r switch work as expected?

In most cases you don't need -r switch. 7-Zip can compress subfolders even without -r switch.

Example 1:
7z.exe a c:\a.7z "C:\Program Files"
compresses "C:\Program Files" completely, including all subfolders.

Example 2:
7z.exe a -r c:\a.7z "C:\Program Files"
searches and compresses "Program Files" in all subfolders of C:\ (for example, in "C:\WINDOWS").

If you need to compress only files with some extension, you can use -r switch:
7z a -r c:\a.zip c:\dir\*.txt
compresses all *.txt files from folder c:\dir\ and all it's subfolders.

    
por 09.04.2017 / 18:22