There is possibly a GUI "batch" unrar application, although I cant say for certain, since I use the commandline for this sort of thing.
Frankly, learning the basics of the command line, is a hundred fold more useful for this type of work, as it is a lot more flexible.
ie: a batch unrar GUI application will only handle batch extracting of archives, where the same thing in a command line, can be adapted to do any just about anything.
Code:
$ find . -name "*.rar" -exec unrar x '{}' \;
Making sure that you change directories to the directory that contains the rar files and relevant subdirs, otherwise the command will work from the current directory. ie: if you run it from /home/username, it will extract ALL rar files anywhere in your home directory, which could create a mess rather quickly.
Let me explain what this does.
"find ." - will find files within the current directory and any subdirectories
"-name "*.rar" - will only find *.rar files
"-exec " - will perform an external command on the results found by the "find" command.
"unrar x" - is the command to extract the rar archives
"'{}'" - tells find to append the found result to the end of the exec'd command.
"\;" - signifies the end of the exec'd command.
After extracting the archives, you could then change the "unrar -x", to "rm -f" and run it again to remove the source archives, leaving you only with the contents of the original archives.
There are a number of other ways to do this, but using "find" is often the simplest, and is a simple "one liner", no scripting as such involved.