' Synchronize two directory subtrees'' This routine compares source and dest directory trees and copies files' from source that are newer than (or are missing in) the destination directory' if TWOWAYSYNC is True, files are synchronized in both ways' NOTE: requires the CompareDirectories and SynchronizeDirectories routines' and a reference to the Microsoft Scripting Runtime type librarySub SynchronizeDirectoryTrees(ByVal sourceDir As String, _ ByVal destDir As String, Optional ByVal TwoWaySync As Boolean) Dim fso As New Scripting.FileSystemObject Dim sourceFld As Scripting.Folder Dim destFld As Scripting.Folder Dim fld As Scripting.Folder Dim col As New Collection ' we need this in case the dest subdir doesn't exist On Error Resume Next ' get reference to source and dest folder objects Set sourceFld = fso.GetFolder(sourceDir) Set destFld = fso.GetFolder(destDir) ' create the destination directory, if necessary If Err Then ' if the destination directory doesn't exist, ' create it and copy all files there ' (this is all we need) fso.CopyFolder sourceDir, destDir ' nothing else to do Exit Sub End If ' synchronize the root directories SynchronizeDirectories sourceDir, destDir, TwoWaySync ' ensure that dir names have a training backslash If Right$(sourceDir, 1) <> "" Then sourceDir = sourceDir & "" If Right$(destDir, 1) <> "" Then destDir = destDir & "" ' repeat for all the subdirectories in the source directory For Each fld In sourceFld.SubFolders ' remember that we have processed this subdir col.Add fld.Name, fld.Name ' call this routine recursively SynchronizeDirectoryTrees fld.Path, destDir & fld.Name, TwoWaySync Next ' if two-way synchronization was requested, ensure that all subdirs in dest ' directories are copied into source directory If TwoWaySync Then For Each fld In destFld.SubFolders If col(fld.Name) = "" Then ' we get here only if the folder name isn't in COL, ' and therefore ' if this subdirectory isn't in the source directory fso.CopyFolder fld.Path, sourceDir & fld.Name End If Next End IfEnd Sub


What is Metadata?
What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular