问题
I have this code, thanks to this forum:
@echo on
set source="R:\Contracts\"
set destination="R:\Contracts\Sites"
::Not sure if this is needed
::It guarantees you have a canonical path (standard form)
for %%F in (%destination%) do set destination="%%~fF"
for /r %source% %%F in (.) do if "%%~fF" neq %destination% ROBOCOPY "%%F" %destination% *.srt *.pdf *.mp4 *.jpg /COPYALL /R:0
Pause
I am not sure if the code above has "SKIP commands" if file exists / or skip if file is the same size.
It seems to take a long time for 400 files. I would like to get this right as soon it will be 40000 files.
Thank you.
回答1:
Do you want to exclude files of the same size, or files that haven't changed? If it's the latter, use the /XO
switch in RoboCopy to exclude files that are older than those they're being copied over.
RoboCopy "%%F" %destination% *.srt *.pdf *.mp4 *.jpg /COPYALL /XO /R:0
回答2:
Are you wanting to mirror source and destination?
ROBOCOPY /MIR
It might be worth looking at the /FFT switch as well
You could of course use RAID 1, but I prefer having the discrete drives for flexibility.
Having said that, I've found robocopy regularly re-copies files that don't need to be copied. Perhaps a service is tweaking the dates in the source so they appear later.
I would like to know how to skip files of the same size and ignore dates since I know the files haven't changed if the sizes are identical for my media files.
来源:https://stackoverflow.com/questions/8935583/how-to-skip-existing-and-or-same-size-files-when-using-robocopy