How do I get this find and rename command to work with subdirectories?

view story

http://unix.stackexchange.com – I have a large directory of music files that is often changing as files and directories come and go. My preference is to make sure that file and directory names don't have spaces in them, so I replace them all with underscores. I go into the main directory and run this command: $ find -type d -exec rename 'y/\ /\_/' {} \; The problem is that when there are subdirectories, this command seems to get lost and it will return errors. So if I have the following directory structure: ... and if I run the command, I get the following errors: $ find -type d -exec rename 'y/\ /\_/' {} \; find: `. (HowTos)