Procedure xcopy Lparam pcSourceDir, pcTargetDir #define BS "\" if Right(pcSourceDir,1)#BS pcSourceDir=pcSourceDir+bs endif * repeat this for pcTargetDir Local lnCnt, laFiles[1] for lnCnt=1 to Adir(laFiles, pcSourceDir+"*.*", "D") lcFile=laFiles[lnCnt, 1] if "D"$ laFiles[lnCnt,5] && it's a subdirectory if lcFile="." * it's the current or parent directory entry else * recurse into subdirectory =xcopy(pcSourcedir+lcFile, pcTargetDir+lcfile) endif else && it's a file copy file (pcSourcedir+lcFile) to (pcTargetDir+lcfile) endif endfor