Advertisement
LACabeza

yXtractor

Jan 15th, 2012
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. # yXtractor - Descompactador de arquivos pelo Nautilus com Yad
  3. # Descompacta o conteúdo do arquivo em um subdiretório
  4. #
  5. # Autor: Alysson Gonçalves de Azevedo
  6. #
  7. # Para funcionar, salve este arquivo com um nome qualquer no diretório:
  8. #   "~/.gnome2/nautilus-scripts/"
  9. # O nome que colocar no arquivo será Exibido no menu de contexto do Nautilus.
  10. #
  11. # 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.
  12.  
  13. IFS="
  14. "
  15.  
  16. #NAUTILUS_SCRIPT_SELECTED_FILE_PATHS é a lista de todos os arquivos selecionados, por isso é necessário tratar eles com um for
  17. for SELECTED in ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}; do
  18.     #Muda o dir corrente para o dir passado por parametro e então extrai os arquivos la
  19.     [ -d ${SELECTED} ] && cd ${SELECTED} || cd "`dirname "${SELECTED}"`"
  20.    
  21.     #Lista os arquivos a serem descompactados, se for um arquivo, retorna ele mesmo, se for uma pasta, retorna os arquivos dentro dela
  22.     FILES=`ls ${SELECTED} | grep -E '\.(zip|rar|7z|7z\.001)$' | grep -Ev '\.part([1-9][[:digit:]]|[[:digit:]]*(0|[2-9]))\.rar$'`
  23.     #O segundo grep exclui arquivos.partN.rar, onde N não seja 1,01,001 e etc.
  24.    
  25.     #Extrai cada arquivo da lista
  26.     for NOME in ${FILES}; do
  27.         echo "#${NOME##/*/}" #Mostra o nome do arquivo no display de progresso do yad
  28.         7z x -y "${NOME}"
  29.     done
  30. done | \
  31. yad --title="yXtractor" --text="Extraindo arquivos..." --progress --pulsate --no-buttons --auto-close --width=300 #--undecorated
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement