failed=1 for I in `find "$1" -type f -iname '*.r01' -or -iname '*part01.rar' -and -iname '*.rar' -not -iregex '.*part[0-9][2-9].rar' | grep -v -e sub -e sample` do echo "Processing file $I ..." if rar x $I then echo "Successfully extracted $I" else failed=0 echo "Failed to extract $I" fi done if [ $failed ] then echo "One or more files failed to extract. No further action will be taken." else echo "Extraction completed successfully. Deleting archives." for I in `find "$1" -type f -iname '*.r??' |grep -v -e sub -e sample` do rm $I echo "Deleted $I" done fi echo "Done."