I made this little and powerfull batch that I think will fit to you.
::--------start of code-------------
set source="c:\my documents\my ebooks"
for /f "tokens=*" %%a in ('dir %source%\*.* /b /s') do (
copy "%%a" %target%\"!D!"
echo *** Job Done ***
::-------end of code------------------
cut out this code and copy it to your bat file.
Pay attention to the third line: set source="c:\my documents\my ebooks"
you must replace "c:\my documents\my ebooks" with your source folder.
In the fifth line the option "/s" aims to extend the job deep into the folder.
So if you state: set source="c:" it will copy the entire disk c: to the target folder (its a kind of bomb!).
if you dont wanna go deep in target folders, then let me know. I have done a alternative batch that will fix this.
finally, you must also create the target folder and replace its name in the 4th line.
(In the script above "backup" is a folder in your desktop).