well this works for me with a few exceptions: unfortunately it seems find enumerates all it needs to do before starting so when you rename things with it you have to make many passes but it's something I'm using it now
find full-path-to-parent-folder -iname "*" -exec rename -v 's/\:|\*|\?|\"//g' "{}" \;
just type that above line (or copy paste) into the terminal (oh make sure to cd into the directory root of the files in question)
oh P.S. if that gives unknown command rename hopefully you can just do a sudo apt-get install rename to get it
and if you wish to remove dots from the directory names which windows seems to have a problem with over SMB you can use
find full-path-to-parent-folder -type d -exec rename -v 's/\.//g' "{}" \;