Clique no banner para conhecer e adquirir o meu treinamento de Bancos de Dados no Azure

Como compactar diretórios em arquivos ZIP utilizando 7zip e CMD

Post Views 20,543 views
Reading time 3 minutes

Olá pessoal,
Boa noite.

Neste post rápido vou demonstrar como compactar diretórios e sub-diretórios criando 1 arquivo zip com todo o conteúdo ou 1 arquivo ZIP por diretório, utilizando o 7-Zip, o melhor compactador de arquivos, na minha opinião, e o prompt do DOS (CMD).

Eu utilizo bastante esse pequeno script no meu dia a dia, principalmente para armazenar os scripts e logs das solicitações e projetos que atendo. Essa semana, tive a necessidade de utilizar esses scripts novamente quando gerei arquivos CSV grandes (acima de 2 GB por arquivo) com várias informações extraídas do banco de dados, utilizando a stored procedure stpExporta_Query_Txt, disponível no post SQL Server – Como exportar dados do banco para arquivo texto (CLR, OLE, BCP).

Para disponibilizar esses arquivos para a solicitante, eu queria compactá-los em 1 arquivo ZIP para cada arquivo gerado, mas eram 65 arquivos CSV, o que iria me demandar um pouco de tempo.

A solução para este problema, foi recorrer a um dos scripts abaixo, que preparei para 3 tipos de necessidades. Nestes exemplos abaixo, vou utilizar a seguinte estrutura:

Como compactar arquivos diretórios batch cmd

Criar 1 arquivo ZIP para cada sub-diretório

Neste primeiro exemplo, vou demonstrar como ler todos os diretórios da pasta corrente e criar 1 arquivo zip para cada diretório da pasta corrente. Os sub-diretórios farão parte do arquivo Zip criado.

Código-fonte:

Processando:
Como compactar arquivos diretórios batch cmd 2

Resultado Final:
Como compactar arquivos diretórios batch cmd resultado_2

Criar 1 arquivo ZIP com o conteúdo dos sub-diretórios

Neste segundo exemplo, vou demonstrar como ler todos os diretórios da pasta corrente e criar 1 arquivo zip com esse conteúdo. Os sub-diretórios farão parte do arquivo ZIP criado.
Código-fonte:

Processando:
Como compactar arquivos diretórios batch cmd 4

Resultado Final:
Como compactar arquivos diretórios batch cmd resultado_3

Criar 1 arquivo ZIP para cada arquivo da raiz

Neste terceiro e último exemplo, vou demonstrar como ler os arquivos que estão na pasta corrente e criar 1 arquivo zip para arquivo. Os diretórios e sub-diretórios não são considerados, apenas os arquivos que estão na raiz.

Código-fonte:

Processando:
Como compactar arquivos diretórios batch cmd 3

Resultado Final:
Como compactar arquivos diretórios batch cmd resultado2

And that's it, folks!
Espero que esse post seja útil pra vocês também!

Abraço!

como compactar diretórios arquivos batch em lote via comando linha de comando command line compress files directory folders shell cmd prompt dos

como compactar diretórios arquivos batch em lote via comando linha de comando command line compress files directory folders shell cmd prompt dos