d$! DO ALLDIR {root_directory} $! Find all the directories from the root_directory $! Defaulted to the current directory ,$! $! end.of.info $ X$ if( p2.eqs."" ) then p2 = 0 $ if( p1.eqs."" ) then p1 := 'f$logical("SYS$DISK")''f$directory() $ if( 'f$locate(":",p1).eq.'f$length(p1) ) then -  p1 := 'f$logical("SYS$DISK")''p1' L$ temp := 'p1 $ assign/user nl: sys$output $ assign/user nl: sys$error x$ dir/br/out=dd'p2'.vx 'temp'*.dir $ open/read/error=nodir dl'p2' dd'p2'.vx @$ read/err=fndir dl'p2' line $ $again: l$ read/err=fndir dl'p2' line $ line := 'f$extract(2,100,line) 4$ ipos = 'f$locate(".DIR",line) $ if( ipos.eq.'f$length(line) ) then goto again $ dirend = 'f$length(temp)-1 ` $ line := 'f$extract(0,dirend,temp)'.'f$extract(0,ipos,line)'] $ lev = 'p2+1 ( $ @sci_com:ALLDIR 'line 'lev $ goto again $ T $fndir: $ write sys$output p1 $ close dl'p2'  $ delete dd'p2'.vx;* $ $nodir: