I tried this but it can not handle nesting and /s3 as above did not seem to work - only 1 level displayed.

Code:

break on
global $SOURCE
dim $SOURCE[4]
;debug on
$SOURCE[1] = READPROFILESTRING(@SCRIPTDIR + "\MENU.INI","DRIVES","SOURCE")
$SOURCE[2] = READPROFILESTRING(@SCRIPTDIR + "\MENU.INI","DRIVES","DEST")
$SOURCE[3] = READPROFILESTRING(@SCRIPTDIR + "\MENU.INI","DRIVES","ARC1")
$SOURCE[4] = READPROFILESTRING(@SCRIPTDIR + "\MENU.INI","DRIVES","ARC2")
if Open(2, "c:\dirlist.txt",5) = 0
for $s= 1 to 4
$dir1 = dirplus($SOURCE[$s],"/ad")
; ? dir1
for each $Client in $dir1
$dir2 = dirplus($SOURCE[$s]+"\"+$dir1,"/ad")
; ? dir2
for each $Location in $dir2
$dir3 = dirplus($SOURCE[$s]+"\"+$dir1+"\"+$dir2,"/ad")
; ? dir3
for each $Project in $dir3
$Line=$SOURCE[$s]+"\"+$dir1+"\"+$dir2+"\"+$dir3
? $LINE
; $x = WRITELINE (2,$LINE) ; List of Folders at 3 levels deep
next
next
next
next
endif
close (2)
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;Function DIRPlus()