lparameters tcPath create cursor dirlist (dirname m) GetSubDirs(tcPath) browse function getsubdirs lparameters tcPath local lcCurDir, lnSubDirs, ix local array laDirs[1] lcCurdir = ADDBS(tcPath) insert into dirlist values (lcCurdir) lnSubdirs=adir(laDirs,lcCurdir+"*.*","D") for ix = 1 to lnSubDirs if laDirs[ix,1]#"." AND "D"$laDirs[ix,5] =getsubdirs(lcCurdir+laDirs[ix,1]) endif endforFor another solution using FSO check Message #633356