Merge two folders with a lot of sub folders and files

Scott Fell
Scott Fell used Ask the Experts™
on
I have a situation where there are two folders that need to be merged to one.  The folders are about 8gig in size and contain many levels of sub folders with documents and some images.  The documents are going to be mostly xls, xlsx, doc, docx, ppt, txt, pdf, jpg.

Many of the files are duplicates although one folder may have a more recent document.

Folder A
-- SubFolder A.1
---- SubFolder A.1.1
------ Document A.1.1  somefile.docx last mod 6/12/2015 3:45pm
-- SubFolder A.2
---- SubFolder A.2.1
------ Document A.2.1  somefile.docx last mod 2/21/2015 10:21am


Folder B
-- SubFolder B.1
---- SubFolder B.1.1
------ Document A.1.1  somefile.docx last mod 1/1/2015 1:20pm-- SubFolder A.2
-- SubFolder B.2
---- SubFolder B.2.1
------ Document B.2.1  somefile.docx last mod 6/5/2015 12:53pm

This is on Windows Server 2008


My goal is to Merge everything in Folder B to Folder A where only folders and files get added to A from B that are not in A and only files from B get copied to A if they are newer than in A

Am I better off writing a vbscript or using something like RichCopy?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Most Valuable Expert 2018
Distinguished Expert 2018
Commented:
The built-in robocopy should be able to do that.
robocopy.exe "F:\older\B" "F:\older\A" *.* /s /xo /r:0 /np /tee /log:"C:\Temp\robocopy.log" /L

Open in new window

/s: recurse Subfolders
/xo: eXclude Older files (don't copy older files over newer files)
/r:0 no Retry (usually not necessary in a LAN)
/np: No Progress (control characters make the log file hard to read)
/tee: output to console and log
/L: test mode; only Log what would be copied; remove this to run the copy for real.
Commented:
XCOPY is more than good enough too and can be less likely to cause issues as it can't possibly do any deleting due to incorrect settings for instance.

xcopy /d /s /-y /c /z x:\FolderB\*.* y:\FolderA

The /d copies if newer or does not exist
Adding /L will test but not copy any files.

If you also want hidden, system files or to overwrite read-only etc. can use the other options available on xcopy but above would do most.

Steve
Scott FellDeveloper & EE Moderator
Fellow 2018
Most Valuable Expert 2013

Author

Commented:
Thank you.  I am going to give this a try now.
Scott FellDeveloper & EE Moderator
Fellow 2018
Most Valuable Expert 2013

Author

Commented:
I used the robocopy, worked perfectly.  I can see the xcopy would be a solution as well.  Thank you both for answering!

Commented:
Would use robocopy myself too generally for the logging so agreed!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial