I have several RAR archives spread around multiple directories but all under a particular root folder on my Debian based NAS. Could someone help me write a simple script that would recursively go into each folder, unrar the contents, go back to the parent folder and move onto the next directory? So:
cd Photos/Summer/Italy/
unrar e Italy.rar
wait
cd ../France/
unrar e France.rar
wait
etc...So just point it to root folder "Photos" and it blitzes through it unraring everything on the way...
Eg, directory structure:
*Photos: -Summer --Italy ---Italy.rar ---Italy.r01 ---Italy.r02 --France ---France.rar ---France.r01 ---France.r02 -Winter --Siberia ---Siberia.rar ---Siberia.r01 ---Siberia.r02 --Canada ---Snow.rar ---Snow.r01 ---Snow.r02 0 3 Answers
find Photos/ -name '*.rar' -execdir unrar e {} \; 1 unrar has built-in recursion using the -r Recurse subdirectories switch.
unrar x -r <parent directory>Extracts contents of all subdirectories under <parent directory> into each subdirectory, keeping any directory structure that exists in the .rar files. Use e instead of x if directory structure is unwanted.
If you want to move the unrar'd photos to another destination, just enter the destination in the end, like this:
find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;