Here is my idea:
WP="/root/aaa" # the path where you'll work
DIRLIST="/root/dirlist" # list with protected dirs
DESTDIR="/root/bbb" # directory where will move dirs
for LINES in `find "$WP" -type d` # searching for dirs
MOVE=`grep -x $LINES $DIRLIST` # check if found dir is in protected dir list
if [ -z $MOVE ] # if is not
then # then
mv $LINES $DESTDIR # move this dir
else # else
echo $LINES is in protected list # tell you something
Test this script with some useless directories.
Make sure that if you want to add some sub folder in protect list, there is added and it's parent folder. As example:
if you want to protect /data/music/group/album1/ and /data/music/group/album2/ you should add
If you don't the script will first find directory data and if /data/ is not in protect list will move it...
excuse my English...