THEAARBS tools - extract

Raw

#!/bin/sh
Dir=$(pwd)

Say() { echo "$1" "$2" notify-send "$1" "$2" ;}

MultipleFiles() { for f in $Dir/* do ExtractFile $(basename $f) done ;}

ExtractFile() { Name=${1%.*} mkdir $Name && cd $Name case $1 in .tar.bz2|.tbz2) Com="tar xvjf ../$1" ;; .tar.gz|.tgz) Com="tar xvzf ../$1" ;; *.tar.xz) Com="tar xvJf ../$1" ;; *.tar) Com="tar xvf ../$1" ;; *.lzma) Com="unlzma ../$1" ;; *.bz2) Com="bunzip2 ../$1" ;; *.rar) Com="unrar x -ad ../$1" ;; *.gz) Com="gunzip ../$1" ;; *.zip) Com="unzip ../$1" ;; *.Z) Com="uncompress ../$1" ;; *.7z) Com="7z x ../$1" ;; *.iso) Com="7z x ../$1" ;; *.xz) Com="unxz ../$1" ;; *.exe) Com="cabextract ../$1" ;; *) Say "⛔ Unknown archive method" && cd $Dir && exit 1 ;; esac $Com && Say "👍 Extraction complete: $Name" || Say "⛔ Error extracting $Name" cd $Dir ;}

if [ $1 = "all" ]; then MultipleFiles elif [ -f $1 ]; then ExtractFile $1 else Say "⛔ Error extracting $1" fi