Extrair arquivos pelo Nautilus com 7z e Yad

Publicado por Alysson (última atualização em 17/01/2012)

[ Hits: 5.369 ]

Download yxtractor.sh




Para funcionar, salve este arquivo com um nome qualquer no diretório:

   "~/.gnome2/nautilus-scripts/"

O nome que colocar no arquivo será exibido no menu de contexto do Nautilus.

Para utilizar, basta apenas selecionar os arquivos, clique com o botão direito, opção Scripts, clicar na opção com o nome desse script.

  



Esconder código-fonte

#!/bin/bash
# yXtractor - Extrair arquivos pelo Nautilus com 7z e Yad
# Extrai o conteúdo do arquivo no diretório corrente
#
# Autor: Alysson Gonçalves de Azevedo
#
# Para funcionar, salve este arquivo com um nome qualquer no diretório:
#   "~/.gnome2/nautilus-scripts/" 
# O nome que colocar no arquivo será Exibido no menu de contexto do Nautilus.
#
# Para utilizar, basta apenas selecionar os arquivos, clique com o botão direito, opção Scripts, clicar na opção com o nome desse script.

IFS="
"

#NAUTILUS_SCRIPT_SELECTED_FILE_PATHS é a lista de todos os arquivos selecionados, por isso é necessário tratar eles com um "for"
for SELECTED in ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}; do
    #Muda o diretório corrente para o diretório passado por parâmetro e então extrai os arquivos la
    [ -d ${SELECTED} ] && cd ${SELECTED} || cd "`dirname "${SELECTED}"`"
    
    #Extensões suportadas pelo 7z
    EXT="zip|rar|7z|7z\.001|tar|gz|bz2|tar.gz|tar.bz2|lzma" #String formatada para regex
    #Lista os arquivos a serem descompactados, se for um arquivo, retorna ele mesmo, se for uma pasta, retorna os arquivos dentro dela
    FILES=`ls ${SELECTED} | grep -E "\.(${EXT})$" | grep -Ev "\.part([1-9][[:digit:]]|[[:digit:]]*(0|[2-9]))\.rar$"`
    #O segundo grep exclui arquivos.partN.rar, onde N não seja 1,01,001 e etc.
    
    #Extrai cada arquivo da lista
    for NOME in ${FILES}; do
        echo "#${NOME##/*/}" #Mostra o nome do arquivo na barra de progresso do yad 
        7z x -y "${NOME}"
    done
done | \
yad --title="yXtractor" --text="Extraindo arquivos..." --progress --pulsate --no-buttons --auto-close --width=300 #--undecorated 

Scripts recomendados

Descobrir biblioteca faltante ao rodar *.exe no wine

Compartilhamento NAT

backup.sh

"Cafereaza" - Baixando MP3

diario


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts