IF NOT LEFT(laFiles[lnFor,1],1) == [.]No need to TRIM.
>>>CopyDiff([c:\Project folder],[d:\back up folder]) >>> >>> >>> >>>FUNCTION CopyDiff(lcSourceFolder, lcTargetFolder) >>> LOCAL laFiles[1], lnFor, lnFiles, lbCopyFile >>> LOCAL laFilesTrg[1], lnAscan, lnFilesTrg, lcNewExt >>> LOCAL lcFileSource, lcFileTarget >>> lcSourceFolder = ADDBS(lcSourceFolder) >>> lcTargetFolder = ADDBS(lcTargetFolder) >>> >>> lnFiles = ADIR(laFiles, lcSourceFolder+[*.*]) >>> ADIR(laFilesTrg,lcTargetFolder) >>> FOR lnFor = 1 TO lnFiles >>> IF NOT LEFT(laFiles[lnFor,1],2) == [.] >>> IF [D] $ UPPER(laFiles[lnFor,5]) >>> *** Folder copy it >>> TRY >>> md (lcTargetFolder+laFiles[lnFor,1]) >>> CATCH >>> ENDTRY >>> CopyDiff(lcSourceFolder+laFiles[lnFor,1], lcTargetFolder+laFiles[lnFor,1]) >>> ELSE >>> lbCopyFile = .t. >>> lcFileSource = lcSourceFolder+laFiles[lnFor,1] >>> lcFileTarget = lcTargetFolder+laFiles[lnFor,1] >>> IF lnFilesTrg # 0 >>> *** If lnFilesTrg == 0 then there is >>> *** NO files in that folder, so you don't have to care about EXT, all files will be copied there >>> >>> lnAscan = ASCAN(laFilesTrg,laFiles[lnFor,1],1,-1,1,1,11) >>> IF lnAscan > 0 >>> IF laFilesTrg[lnAscan,3] # laFiles[lnFor,3] OR; >>> laFilesTrg[lnAscan,4] # laFiles[lnFor,4] >>> IF JUSTEXT(laFiles[lnFor,1]) $ [VCX VCT SCX SCT FRX FRT DBF DBT] >>> lcNewExt = LEFT(JUSTEXT(laFiles[lnFor,1]),2)+[*] >>> lcFileSource = FORCEEXT(lcSourceFolder+laFiles[lnFor,1],lcNewExt) >>> lcFileTarget = FORCEEXT(lcTargetFolder+laFiles[lnFor,1],lcNewExt) >>> ENDIF >>> ELSE >>> lbCopyFile = .f. >>> ENDIF >>> ENDIF >>> ENDIF >>> IF lbCopyFile >>> COPY FILE (lcFileSource) TO (lcFileTarget) >>> ENDIF >>> ENDIF >>> ENDIF >>> ENDFOR >>>>>>