Separate Multiple Capitalized Words with a Space

I have about 2000 files with the filenames being multiple words mashed together with no spaces. Each word is capitalized.

Can this software notice the capital letters and separate them with a space?
It's straightforward to add a space before each upper-case letter...

Replace: ([A-Z])
with " \1" (ie SPACE + \1)
Occurrence: All
Case sensitive
Use regular expressions

However, this will also add a space at the beginning of the filename if the first word is capitalized.
I can't come up with a neat way of eliminating this, but the leading space can be removed using...

Remove pattern...
Pattern: "^ " (ie ^ + SPACE)
Use regular expressions