Proper way to use a path with spaces in the directory name

I am using the below bash loop:

or f in /media/cmccabe/My Book Western Digital/10_29and30_2015/*.bam ; do
    bname=`basename $f`
    pref=${bname%%.bam}
    samtools view -H $f | sed '/^@PG/d' | samtools reheader - $f > /home/cmccabe/Desktop/NGS/${pref}_newheader.bam
done 

is the proper way to escape the spaces in My\ Book\ Western\ Digital to put backslashes in it? Thank you :).

Yes, or use quotes (have the spaces and special characters inside quotes, and have the wildcards like * outside).

for f in "/media/cmccabe/My Book Western Digital/10_29and30_2015/"*.bam ; do