lcOriginalPath = 'c:\post\temp' lcNewPath = 'c:\myzipfolder' lnNum =adir(laDir,Forcepath(lcOriginalPath,'*.prg')) && Remove the 'D' part! FOR nCount = 1 TO lnNum if date() - laDir(nCount,3)<30 && newer than 30 days *? LADIR(nCount,1)+" copied " Copy File (Forcepath(lcOriginalPath,laDir(nCount,1))) To (Forcepath(lcNewPath,laDir(nCount,1))) endif ENDFOR>thanks tore - i am actually using a creation (I thought was yours - could be wrong) but i didn't quite know how to adapt it for the new files - what i've done is left it as is to remove all program files except the last 50 most recent. i'm ok with that and it is working. but i would like to know if there is a simple way of adapting the code so that it erases all but the files in the last 30 days instead of all but the last 50 files. here is what i'm using - if it's too complicated leave it Tore, but if it's a simple line or two i'm missing i would would be grateful for the method to see how it's done.
>fso = CREATEOBJECT("Scripting.FileSystemObject") >lnNum =adir(ladir,'c:\post\temp\*.prg','D') >asort(ladir,3) >FOR nCount = 1 TO lnnum-50 && Loop for number of programs > *? LADIR(nCount,1)+" Erased " > fso.DeleteFile("c:\post\temp\&ladir(nCount,1)") >ENDFOR >>k