Using CP in bash script

I've got something to this effect:

read -n1 -p "Continue? (y/n)"
if [[ $REPLY == [yY] ]]
        then printf "\n" &&
                cp -prv $WODI/* $OTHERDRIVE &&
                chown -R mail:mail $MAIL/$userdir &&
                echo -e "Files copied from '$WODI/' to '$OTHERDRIVE/' and chowned 'vmail:vmail':\n"
        else die "\nExiting..."
fi
if [[ ! -L $WODI ]]
        then read -n1 -p "Create symlink (ln -s $OTHERDRIVE $WODI)?? (y/n)" &&
                [[  $REPLY == [yY] ]] &&
                ln -sf $OTHERDRIVE $WODI
        else printf "\n"
fi
if [[ -L $WODI ]]
        then echo -e "\nSymlink '$OTHERDRIVE' created successfully:\n" &&
                ls --color -lA $LISTING | egrep $userdir
        else echo -e "\nSymlink '$OTHERDRIVE' does not exist.\n"
fi

This is a clip from a script I'm working on to move courier-imap mail directories (maildir format) to another drive, and then symlink the original location to the new.
I'm running into the issue on this line:

cp -prv $WODI/* $OTHERDRIVE

cp runs just fine with this command, but it omits all of my maildir folders (folders that being with a period, ie ."Trash") for some reason. Running cp (outside of the script) on the same directory will copy all directories.

Also, please tell me of any general scripting errors I may be committing, or anything that doesn't look right.

Thanks, guys!

You need to add another copy command to handle the dot files.

cp -prv $WODI/.[a-zA-Z0-9]* $OTHERDRIVE