Ir ao conteúdo

Bat Descompactar arquivos dentro de pastas e subpastas


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Postado

@ricardo_br é arquivo .zip mesmo. Dentro dessa pasta tem fotos, umas planilhas e arquivo em pdf. Esse escript que te mandei compacta as pastas direitinho.@ricardo_br

Em 09/02/2021 às 14:06, ricardo_br disse:

Qual a extensão desses arquivos *.I ? Porque ele só pega zip, rar e 7z...

@ricardo_br infelizmente não funcionou.

eu uso esse escript para compactar:  for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X.zip" "%%X\

tem como fazer um script para descompactar baseado nesse script acima?

tipo, o que precisa alterar para ele descompactar ao invés de compactar?

Postado

Então para descompactar seria algo assim:

 

for /r "%~dp0" %%X in (*.zip *.rar .*.7z) do "c:\Program Files\7-Zip\7z.exe" x "%%X"

 

Tem teamviewer de repente posso te ajudar remotamente...?

  • 2 semanas depois...
Postado

@ricardo_br Boa tarde amigo. eu Descompactei a pasta com o script for /r "%~dp0" %%X in (*.zip *.rar .*.7z) do "c:\Program Files\7-Zip\7z.exe" x "%%X"  mas ele não descompactou dentro da pasta original. como mostra no anexo:

image.png.b3d620b3dbecb299b464b0195e48878f.png

 

Teria como o script descompactar e deixar na pasta original? Desta forma:

image.png.b1a964b79386407f86bac9a3370c1f2e.png

 

da forma que os arquivos descompactados fiquem dentro das pasta, assim:

image.png.a6ad07cb17e2ee954debd8995fbe1302.png

 

Desde já, Agradeço!

  • 1 ano depois...
Postado

@henry matheus @ricardo_br

Amigos, sou novo aqui mas estou a 50% da solução acompanhado este velho caso.

Preciso descompactar 60GB de dados.

Os arquivos foram compactador individualmente pelo cobian. Ester arquivos estão com extensão *.zip

Sao varias pastas e subpastas com arquivos E outras subpastas dentro.

 

O problema que estou enfrentando é de que ao executar os comandos ali mencioonados por vcs, me deparo com 2 erros.

 

erro 1 - Se fizer o scrip pelo "winrar", me informa que os o formato do arquivo não é suportado.

erro 2- Se fizer o scrip "7zip" , ele junta tudo em uma pasta. Onde não é viavel devido a "bagunça" que vai gerar

Me falta um pouco de conhecimento, mas estou quase la.

Preciso deixar tudo descompatado, dentro de suas respectivas pastas e no fim, deletar os arquivos compactador.

E para completar, TODOS arquivos possuem senha de compactação, mas a senha é igual a todos.

OBRIGADO

Caso a boa vontade dos amigos esteja disponivel, segue meu Whatsapp.

54996250870

Obrigado.

Saude a todos

 

 

Postado

nosp.... SAo pastas zipadas com outros arquivos

O cobian  não compactou as pastas, e sim o conteudo apenas.

agora, Anderson Sonaglio disse:

nosp.... SAo pastas zipadas com outros arquivos

O cobian  não compactou as pastas, e sim o conteudo apenas.

@ricardo_br  imagina um diretorio denominado "publico". Dentro deste publico existem 200 pastas. Cada pasta com suas subpastas. 

todas pastas e subpastas não foram compactardas, APENAS OS ARQUIVOS. ( pdf , word, excel etc )

Postado

@ricardo_br Sigo aqui. Acho que meu problema ta  ao definir o diretorio de saida.

@echo off

set Seven=c:\Program Files\7-Zip\7za.exe

set Senha=teste


for /r "%~dp0" %%a in (*.zip *.rar *.7z) do "C:\Program Files (x86)\7-Zip\7z.exe" -p"%Senha%" x -y -o"%%~dpa%%~na" "%%a"

pause

 

 

 

 

 

Acredito que seja nesta parte "%%~dpa%%~na" que defino para que o arquivo seja extraindo na pasta a qual se econtra.

No momento o scrip ta criando uma pasta com o mesmo nome do arquivo , e dentro desta pasta se encontra o arquivo descompactado.

Até ajuda, mas para cada arquivo descompactado, terei uma nova pasta...e pasta...e pasta rsrsrs. 

Postado

@Anderson Sonaglio Veja se é isso:

 

 

Teste em uma cópia antes caso não dê o resultado esperado!

 

@echo off

set Seven=c:\Program Files\7-Zip\7z.exe

set Senha=teste


for /r "%~dp0" %%a in (*.zip *.rar *.7z) do (
                                             "%Seven%" -p"%Senha%" x -y "%%a" -o"%%~dpa"
                                             del /q "%%a"
                                            ) 

pause

 

Postado

@ricardo_br FIco imensamente agradecido pela tua disposição.

Consegui resolver com partes deste post.

 

Deixo aqui o scrip para, descompactar em suas respectivas pastas, e apagar os arquivos *.zip após sua descompactação.

Lembrando que, só apontei para os arquivos .zip. Caso queira incluir extensões .rar .7zip e outras, é só incluir  na linha onde tem (*.zip). Inclua dentro do mesmo parênteses 

No caminho a ser descompactado, seria a primeira pasta onde deve se começar a descompactar. Dali pra frente ele pega todas as subpastas.

no Exemplo, ele vai começar em ABC para frente. 

Detalhe que usei a versão 32bits do 7ip. Então atenção ao caminho informado ( funciona com 64bits também)

Tenha certeza que queira apagar as extensões informadas. porque após descompactar tudo, ele vai voltar e deleta os arquivos com as extensões informadas na linha " del /F /S /Q "*.zip"

Novamente obrigado !

 

@echo on
set Seven=C:\Program Files (x86)\7-Zip\7z.exe



set Senha= INFORME AQUI A SENHA



for /r "%~dp0" %%a in (*.zip) do "%Seven%" x -y -bse2 -bso0 -bsp0 -o"%%~dpa" "%%a" -p"%Senha%"



cd INFORME AQUI O CAMINHO A SER DESCOMPACTADO. ( EX. C:\TESTE\ABC) . 

del /F /S /Q "*.zip"

 

  • mês depois...
Postado

Olá amigos, depois de tempos precisei usar novamente do script, criado pelo amigo ricardo_br, para compactar e descompactar mas estou com um problema, quando executo o .bat ele pede a letra (c) compactar ou (d) descompactar, quando é colocada a letra e teclado enter, o .bat fecha e não executa o comando, não sei onde estou errando será que alguém consegue me ajudar. Segue o script e as telas dos caminhos. 

 

@echo off

REM Especifique aqui a pasta onde esta instalado o Winrar:
set WinRAR=C:\Program Files\WinRAR\WinRAR.exe

REM Especifique aqui onde esta a pasta onde voce quer compactar ou descompactar os arquivos:
set pasta=E:\Usuário Alvin\Desktop\Teste

REM Especifique aqui a senha:
set Senha=Flamengo

:Pergunta
cls
echo.
set /p "Pergunta=Deseja (C)ompactar ou (D)escompactar arquivos? "
if /i "%Pergunta%"=="c" goto :Compactar
if /i "%Pergunta%"=="d" (goto :Descompactar) else (goto :Pergunta)

:Compactar
for /r "%pasta%" %%a in (*) do "%WinRAR%" a -dr -m3 -ep1 -p"%Senha%" "%%a.rar" "%%a"
exit
:Descompactar
for /r "%pasta%" %%a in (*.rar) do (
"%WinRAR%" x -p"%Senha%" "%%a" "%%~dpa"
del /q /a "%%a"
)


 

 

 

caminho winrar.PNG

pasta teste.PNG

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...