" >XTree/src v1.17 29-Jul-2007 & Tidier display of directory tree / Will also give individual directory sizes ( (C) J.G.Harston 2J 12-Aug-1998 v1.14 JGH: New cmd line, Date checked, shows last update ] [-info] [-list] [-mask ] [-print] path":end(0) 9Aflg%=cl("-a",0):Cflg%=cl("-c",0):Fflg%=cl("-f",0) 9Iflg%=cl("-i",0):Lflg%=cl("-l",0):Pflg%=cl("-p",0) )gran%=cl("-g",1):gran%=0:gran%=256 .mask%=0:S$=cl("-m",1):S$<>"":mask%=(S$) : SA$=cl("",0):csd%=fs_RdCSD:fs$="":A%=A$,":"):A%>1:fs$=A$,A%-1):A$=A$,A%+1) Epath$=A$:fs$:up%=(file("^",5)-2)=2:fs<>16:mask%=0:mask%=&3B v:::: IF NOTup%:IF INSTR(path$,"$")+INSTR(path$,"&")+INSTR(path$,"%")=0:PRINT"Needs a root reference":PROCend(190) Lpath$<>"":(file(path$,5)-2)<>2:path$" is not a directory":end(190) : >ch(Pflg%):mask%=(mask%&FF)&300:path$<>"":"Dir "+path$ ")Lflg%:file("$",5)=2:X%!2:*INFO $ ,-Lflg%:"Disk: "gbpb(5)'"Dir: "gbpb(6) 6R?ch%=32:total%=cat(0,0,0):Lflg%:'"Total disk space used: ";total%" bytes"; @'Cflg%:" - "k(total%) Lflg%: J end(0): T: ^,end(E%):in%=in%:in%:A%=in%:in%=0:#A% hfs_WrCSD(csd%):exit(E%): r |: 9ݤcat(lv%,idx%,count%): end%,total%,index%,first%,f$ 'index%=idx%:total%=0:xt%=0:first%= + If idx%=0, we're doing the whole dir. . If idx%<>0, we're looking for next entry  fs=142:ș "OS_GBPB",9,"@",name%,1,index%,32,0 ,,,end%,index%:end%=1-end%:ș "OS_WriteN",name% f$ f$=gbpb8(index%):index%=X%!9:end%=X%?5 $end%=0 idx%<>0 Fflg%: := end%=0:file(idx%)  end%<>0 xt%:idx%<>0:=xt%  =total% : (file(idx%): type%:xt%=:f$=46: Htype%=file("@."+f$,5):load%=X%!2:exec%=X%!6:size%=X%!10:attr%=X%?14 6:fs=5:in%=(f$):in%:A%=NetFS_Op(12,(args(&80,in%,2^(in%-32))&FF)+2):size%=(X%!4)&FFFFFF:#in%:in%=0 Battr%=attr%+(type%-1)*256:total%=(total%+size%+gran%-1)-gran% &(idx%<>0 (type%=2 Fflg%):xt%=: 09count% (Fflg% Lflg% type%=2):pr(f$):first%= :Ztype%=2 (f$,1)<>"!" Aflg%=0):down(f$):total%=total%+cat(lv%+1,0,count%):up(f$) D N: Xpr(f$): oldFflg% bLflg%:tree path$"."; lf$;:Iflg% (Lflg% (Lflg% Fflg%)):(34-+10*Cflg%)h0(load%,8)" "h0(exec%,8)" "h0(size%,6); Iflg%:(56-+10*Cflg%); vIIflg%:" "at(attr%mask%)" ";:Lflg%(Lflg%Fflg%):date(mdate%); :   Iflg - info ------\  Fflg - files/full----\ !  Lflg - list --\ ! ! * 0 0 0 tree, dirs 5 0 0 1 tree, dirs, full info + 0 1 0 tree, files 6 0 1 1 tree, files, full info + 1 0 0 list, files 8 1 0 1 list, files, access info + 1 1 0 list, files 6 1 1 1 list, files, full info :   Cflg%:((30-)Iflg%-Iflg%);:type%=2:oldFflg%=Fflg%:Fflg%=:down(f$):k(cat(lv%,0,));:Fflg%=oldFflg%:up(f$) Cflg%:k(size%);  : *: 4 tree >nxt%=cat(lv%,index%,0) H$nxt%:ch%?lv%=c%(3) ch%?lv%=32 R1:z%=0lv%-2: ch%?z%,32:: ch%?z% lv%=1:?ch% \(first% lv%>0: c%(4) lv%>0:32 f'c%((nxt%1)((first%(lv%=0))4)) p z: .down(f$):path$=path$+"."+f$:"DIR "+f$: : )up(f$):path$=path$, path$- f$-1) up%:"DIR ^": "DIR "+path$: : ch(pc8%) & c%(5): z%=0 5:c%(z%)=z%+166: Epc8%:c%(0)=&C4:c%(1)=&C2:c%(2)=&FE:c%(3)=&B3:c%(4)=&C0:c%(5)=&C3 -23,c%(0),0,0,0,255,0,0,0,0 : --- -23,c%(1),0,0,0,255,24,24,24,24 : -v- ,23,c%(3),24,24,24,24,24,24,24,24 : | +23,c%(4),24,24,24,24+7,0,0,0,0 : \ ,23,c%(5),24,24,24,24+7,24,24,24,24: +-  : $ݤat(A%): a$ .(A%128):a$="P" 8(A%8):a$=a$+"L" B-(A%&100):a$="D"+a$+"/":=a$+7- a$," ") L(A%6)=2:a$=a$+"W" V(A%4):a$=a$+"E" `(A%5)=1:a$=a$+"R" j a$=a$+"/" t(A%96)=32:a$=a$+"W" ~(A%64):a$=a$+"E" (A%80)=16:a$=a$+"R" =a$+7- a$," ") : aݤdate(A%):=d0(A%31,2)+"/"+d0((A%&F00)256,2)+"/"+d0(1981+(A%&F000)&1000+(A%&E0)2,4) : Kݤk(A%):A%>4100:=" "+(A%1024),5)+"K" =" "+ A%,5)+" bytes" : 4ݤx(o$,v$):v$,1)="Y"v$,1)="y":=" -"+o$ ="" :