Descompactar arquivos RAR e ZIP em lote

Publicado por Marcello Carvalho (última atualização em 12/04/2017)

[ Hits: 8.665 ]

Download descompacta.sh




Um pequeno script para automatizar a descompactação de arquivos ".RAR" e ".ZIP".

Para aqueles, que como eu, baixam muitos arquivos e as vezes acha chato ficar descompactando um por um, este script poupa esses preciosos minutos de sua vida.

Coloque todos os arquivos dentro de uma pasta, junto com o script, e execute-o... fácil!!!!

  



Esconder código-fonte

#!/bin/sh
   QTD=$(find $1 -iname "*.rar" | wc -l)
   i="1"
   while [ $i -le $QTD ];do
      ArquivoCompleto=$(ls *.rar | head -$i | tail -1)
         unrar x "$ArquivoCompleto"
   i=$(($i+1))

   done

   QTD=$(find $1 -iname "*.zip" | wc -l)
   j="1"
   while [ $j -le $QTD ];do
      ArquivoCompleto=$(ls *.zip | head -$j | tail -1)
         unzip "$ArquivoCompleto"
   j=$(($j+1))

   done

Scripts recomendados

Convertendo bases numéricas

Cálculo fatorial

Bom treino para iniciados em Shell pt2

debcreate - Script que facilita o uso do dpkg-deb

Agenda "completa" com interface do zenity


  

Comentários
[1] Comentário enviado por bruno5646 em 15/02/2017 - 10:49h

Muito bom manin... ajudou bastante aqui para descompactar meus 78 arquivos kkk
Abraço

[2] Comentário enviado por removido em 05/03/2017 - 12:07h

Fiz algumas modificações no script hoje.

Versão 2:

Para mais informações leia o CHANGELOG dentro do arquivo.

Altera o uca.xml no xfce:

nano ~/.config/Thunar/uca.xml

<action>
<icon></icon>
<name>descompactar vol</name>
<unique-id>1488725545162209-14</unique-id>
<command>/usr/local/bin/descompacta.sh %D</command>
<description></description>
<patterns>*.rar;*.zip</patterns>
<other-files/>
</action>


Como usar:

Vai na pasta onde tem os arquivos rar e zip clica com o botão direito do mouse nele vai na opção "descompactar vol".

Ele vai extrair todos os arquivos rar e zip na pasta.

Sugestão para a versão 3:

Só extrair somente os arquivos selecionados pelo usuário e não todos os arquivos zip e rar da pasta.


[3] Comentário enviado por mebelin em 17/04/2017 - 09:07h

Existe alguma solução para buscar arquivos em diretórios recursivamente ? Até consegui fazer a busca, mas pastas com nomes com espaços não extrai.

[4] Comentário enviado por mbrunoac em 17/04/2017 - 15:20h


[3] Comentário enviado por mebelin em 17/04/2017 - 09:07h

Existe alguma solução para buscar arquivos em diretórios recursivamente ? Até consegui fazer a busca, mas pastas com nomes com espaços não extrai.


tenta find . -iname "*.rar" ##usei o *.rar como exemplo
ele vai procurar tudo da pasta que vc esta e nas subpastas dessa pasta.
pra procurar em uma pasta específica subistitua o "." pelo caminho da pasta

[5] Comentário enviado por removido em 18/04/2017 - 01:05h


[4] Comentário enviado por mbrunoac em 17/04/2017 - 15:20h


[3] Comentário enviado por mebelin em 17/04/2017 - 09:07h

Existe alguma solução para buscar arquivos em diretórios recursivamente ? Até consegui fazer a busca, mas pastas com nomes com espaços não extrai.


tenta find . -iname "*.rar" ##usei o *.rar como exemplo
ele vai procurar tudo da pasta que vc esta e nas subpastas dessa pasta.
pra procurar em uma pasta específica subistitua o "." pelo caminho da pasta


Na versão 2 do script esta como "*.rar" por causa de nomes com espaços.

O script pode usar service menu (xfce, mate, gnome, kde....).

Ex: service menu no KDE

https://cn.pling.com/img//hive/content-pre1/148881-1.png


[6] Comentário enviado por mbrunoac em 18/04/2017 - 15:24h


[5] Comentário enviado por meianoite em 18/04/2017 - 01:05h


[4] Comentário enviado por mbrunoac em 17/04/2017 - 15:20h


[3] Comentário enviado por mebelin em 17/04/2017 - 09:07h

Existe alguma solução para buscar arquivos em diretórios recursivamente ? Até consegui fazer a busca, mas pastas com nomes com espaços não extrai.


tenta find . -iname "*.rar" ##usei o *.rar como exemplo
ele vai procurar tudo da pasta que vc esta e nas subpastas dessa pasta.
pra procurar em uma pasta específica subistitua o "." pelo caminho da pasta


Na versão 2 do script esta como "*.rar" por causa de nomes com espaços.

O script pode usar service menu (xfce, mate, gnome, kde....).

Ex: service menu no KDE

https://cn.pling.com/img//hive/content-pre1/148881-1.png




então, ainda não terminei a nova versão do script com um menu ""bonitinho"", mais por falta de tempo mesmo mas farei ainda este ano


Contribuir com comentário