rename is a common linux utility to help with complex batch renaming.

From the rename man page:

To rename all files matching "*.bak" to strip the extension, you might say

rename 's/\.bak$//' *.bak

To translate uppercase names to lower, you'd use

rename 'y/A-Z/a-z/' *

When downloading web content I often find that it contains a lot of upper case and space characters in the file names and so I'll commonly rename them like:

rename 'y/A-Z\ /a-z_/' *