looking for tool unrar

Status
Not open for further replies.

Desi_Boy

Active Member
356
2012
68
0
hi,
Currently i am looking for a tool which unrar file and put our file like readme.txt and url file then rar it again. If u know please share thanx

Looking for help!!!!

Regards
Desi_Boy
 
12 comments
Hi

I can give you my script of unraring the files when the whole torrent is downloaded. It also manages .zip and .001 files.

I haven't found a solution on deleting the .rar/.001/.zip files when the ratio is met however.

Here goes:

In .rtorrent.rc add this to invoke the script:
Code:
system.method.set_key = event.download.finished,unpack_rar,"execute=~/unrar_files.sh,$d.get_base_path="

Then make the script in the home folder of the user which runs rtorrent (you can specify searchpath if you want aswell but I won't add this in my example).

vim unrar_files.sh

Cut-n-paste this:
Note you need to change "nedladdat/torrents" to the folder your rtorrent download files to. And "/home/daniel" to the folder the user your using.
These two checks are there for rtorrent freaks out if the script takes too long to complete.

Code:
#!/bin/bash
#Skapat av Gymmarn 2010-02-11
#Variabel $1 is the folder sent
#Start to check if we're in the right folder (rTorrent seems to bug sometimes)
if [ "$(ls -d $1 | grep -F nedladdat/torrents/)" ]; then
        #Create only 1 instance of this script to avoid rTorrent crashing
        if [ ! "$(ls /home/daniel/ | fgrep -i pidfile)" ]; then
                yes no | nice -n 15 touch /home/daniel/pidfile
                #Find and repeat for all folders and subfolders
                for directory in $(find $1 -type d); do
                        #Check for .rar files and unpack them if found
                        if [ "$(ls $directory | fgrep -i .rar)" ]; then
                                rarFile=`ls $directory | fgrep -i .rar`;
                                searchPath="$directory/$rarFile"
                                yes no | nice -n 15 unrar x -o+ $searchPath $directory
                        #Check for .001 files and unpack them if found
                        elif [ "$(ls $directory | fgrep -i .001)" ]; then
                                rarFile=`ls $directory | fgrep -i .001`;
                                searchPath="$directory/$rarFile"
                                yes no | nice -n 15 unrar x -o+ $searchPath $directory
                        #Check for .zip files and unpack them if found
                        elif [ "$(ls $directory | fgrep -i .zip)" ]; then
                                for zipFiles in `ls $directory | fgrep -i .zip`; do
                                        searchPath="$directory/$zipFiles"
                                        yes no | nice -n 15 unzip -n $searchPath -d $directory
                                done
                                #When there is .zip files there is often .rar/.001 in them. Check and unpack if so
                                if [ "$(ls $directory | fgrep -i .rar)" ]; then
                                rarFile=`ls $directory | fgrep -i .rar`;
                                searchPath="$directory/$rarFile"
                                yes no | nice -n 15 unrar x -o+ $searchPath $directory
                                #Check for .001 files and unpack them if found
                                elif [ "$(ls $directory | fgrep -i .001)" ]; then
                                rarFile=`ls $directory | fgrep -i .001`;
                                searchPath="$directory/$rarFile"
                                yes no | nice -n 15 unrar x -o+ $searchPath $directory
                                fi
                        fi
                done
                yes no | nice -n 15 rm -f /home/daniel/pidfile
        fi
fi

I'm no programmer and things could probably be made nicer, but here it is in all it's glory :D
 
Status
Not open for further replies.
Back
Top