Ir ao conteúdo

Bat Bat para descompactar 7-zip


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Postado

Olá pessoal.

 

Alguém poderia me ajudar com um bat que descompactasse arquivos em lote?

 

Seriam vários arquivos 7-zip dentro das pastas e subpastas e precisaria que os arquivos fossem descompactados em seus respectivos diretórios.

 

Uma observação: os arquivos tem senha (única senha para todos) rsrs

 

Desde já, obrigado!

 

 

Postado

O formato dos arquivos compactados é *.7z?

 

E todos os arquvos que estão dentro do arquivo compactado devem ser extraidos para a pasta onde está o arquivo compactado desconsiderando a estrutura de pastas dentro do arquivo compactado?

  • Curtir 1
Postado
1 minuto atrás, alison.rm disse:

@ricardo_br sim, todos estão em .7z. Todos devem obedecer a estrutura de pastas...

 

Ex:

 

Arquivos\doc.7z\xsl.7z\ppt.7z

 

Deverão extrair assim:

 

Arquivos\doc.doc\xls.xsl\ppt.ppt

 

Obrigado.

 

---->Arquivos\doc.doc\xls.xsl\ppt.ppt<-----????????

Não seria "Arquivos\doc.doc\xls.xsl\ppt" ?

adicionado 2 minutos depois
1 minuto atrás, ricardo_br disse:

 

---->Arquivos\doc.doc\xls.xsl\ppt.ppt<-----????????

Não seria "Arquivos\doc.doc\xls.xsl\ppt" ?

 

Ou dentro de "Arquivos\doc.7z\xsl.7z\ppt.7z" tem uma pasta chamada ppt e ficaria assim:

 

Arquivos\doc.7z\xsl.7z\ppt\ppt ???

  • Curtir 1
Postado

@ricardo_br é porque cada arquivo está compactado individualmente dentro das pastas... Se tem 20 arquivos dentro da pastas, os 20 foram compactados individualmente em suas respectivas pastas. Não houve compactação de pastas e subpastas, só de arquivos... esses arquivos estão dentro dessas pastas e subpastas.

 

Deu pra entender?

 

Tipo

 

Arquivos\a.7z

Arquivos\Manuais\m.7z

Aquivos\Manuais\Trabalho\t.7z

(Essas pastas ja existem e dentro delas só tem os *.7z)

 

Descompactar...

 

Arquivos\a.doc, b.doc...

Arquivos\Manuais\m.txt, m.xsl...

Arquivos\Manuais\Trabalho\t.xsl, h.xsl...

 

Ps:.seria bom extrair e ja excluir os .7z rsrs

 

 

 

 

 

Postado

Veja se isso daria no resultado esperado:

 

Dentro de da área de trabalho eu tenho uma pasta chamada teste com essas subpastas:

 

1234567
aDhiD58
BCBPfa5
Buelent
IqmSpVA
jZhmS0c
oQ8O7Nv
UGBcAHP
wbn6UzW

 

e dentro das subpastas tem arquivos *.7z com arquivos PDF dentro dos arquivos *.7z.

 

Antes:

 

xCekCtT.jpg

 

Depois:

 

a50l4t4.jpg

 

 

  • Curtir 1
  • Solução
Postado

Poderia ser algo assim. Você só tem que trocar o caminho onde estão os arquivos *.7z e a senha:

 


@echo off
chcp 1252 > Nul

:: Informe aqui o caminho para as pastas compactadas e a senha:
set "Caminho=%userprofile%\desktop\teste"
set "Senha=toni21"

if /i exist "%Programfiles%\7-Zip\7z.exe" set "Pro=%Programfiles%\7-Zip\7z.exe"
if /i exist "%Programfiles% (x86)\7-Zip\7z.exe" set "Pro=%Programfiles% (x86)\7-Zip\7z.exe"

for /r "%Caminho%" %%a in (*.7z) do "%Pro%" e "%%a" -y -p%Senha% -o"%%~dpa" *.*
cls
echo.
set /p "Deletar=Deseja deletar os arquivos *.7z originais? (s)im (n)ão: "
if /i "%Deletar%"=="S" del %Caminho%\*.7z /q /s

 

ZI5rEyG.gif

 

ExtrairArquivos7zip.zip

  • Curtir 1
Postado

@ricardo_br amigo, funcionou sim, perfeitamente... muito obrigado!

 

O intenção é colocar esses arquivos no Google Drive criptografado (.7z com senha), mas de uma forma que seja possível baixa-los em qualquer máquina sem um programa específico para descriptografa-los.

 

Estou usando o CryptSync para pegar um Drive da minha máquina e compactar/criptografar todos os arquivos (é um volume bastante grande) e assim eu poder o upload para o GDrive...

 

Novamente obrigado!!!!

 

Abraço.

 

PS: é possível tirar a "animação" (atualização do bat) pra ir mais rápido? E se eu quisesse que sempre deletasse ou não os arquivos, qual parâmetro eu mudo?

Postado

Com animação você quer dizer o gif que coloquei aqui ou esses textos que aparecem na execução que ficam subindo rapidamente durante a extração?

 

Para que os arquivos *.7z sejam excluidos automaticamente sem perguntar nada pode remover essas linhas:


set /p "Deletar=Deseja deletar os arquivos *.7z originais? (s)im (n)ão: "
if /i "%Deletar%"=="S" del %Caminho%\*.7z /q /s

e substituir por:


del %Caminho%\*.7z /q /s

adicionado 5 minutos depois

Sobre essa parte de "possível baixa-los em qualquer máquina sem um programa específico para descriptografa-los" na verdade só funciona se a máquina tiver o 7zip instalado....

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...