Sub RecursiveCopyFiles(strSource, strDest, blnOverWrite) Dim ts, fs, fils, fil, fol, fols, strFolder Set fs = CreateObject("Scripting.FileSystemObject") On Error Resume Next 'Be sure the destination folder exists If Not fs.FolderExists(strDest) Then fs.CreateFolder strDest End If 'Check all the source files Set fils = fs.GetFolder(strSource).Files If Err.Number <> 0 Then Exit Sub 'Copy to the destination For Each fil In fils fil.Copy fs.BuildPath(strDest, fil.Name), blnOverWrite Next 'Check for any sub folders and recursively process them Set fols = fs.GetFolder(strSource).SubFolders For each fol in fols If Lcase(fol.Name) <> "recycled" Then RecursiveCopyFiles fol.Path, fs.GetAbsolutePathName(fs.BuildPath(strDest, fol.Name)) End If Next End Sub