Robocopy is your friend in this. It has a flag that'll do exactly what you want.
robocopy c:\ f:\ /mir /r:1 /sec
That'll do a mirror copy, retrying open files once before moving on, and will also copy security. The mirror copy will also remove files from F:\ that no longer exist on C:\, which is something xcopy can't do. Also, after the first sync it'll only copy newer files.
If robocopy isn't a possibility for some reason, you can get kind of close with xcopy.
xcopy C:\*.* F:\*.* /S/E/H/D
That'll copy the entire C:\ structure to F:\, copy hidden files, and only copy newer ones. It won't remove files from F:\ that exist in C:\ though.
Edit:
Perhaps this'll do what you want:
for /D %D in (C:\User*\) do xcopy C:\User%D\*.* F:\User%D /s /e /d 08-01-2010
That'll iterate over all directories with User in them, and copy files newer than the first of August.
Best Answer
Your question sounds like you want the first 10 files from every subfolder? This ought to do it (not exhaustively tested!):
If it's saved to a batch file named 'first10.cmd', you can use it like this:
First it prepares the destintation folder structure using xcopy, just as in your question. Then we save a list of all folders to a file, and loop over each one. For each folder, we save a list of all files in that folder, and loop over each file. For each file,
:docopy
builds the copy command and executes it.