ECHO TREETOPS: Directory Tree Top Level Usage Report ECHO ECHO Compliments of the Beechglen Support Team (www.Beechglen.com) ECHO ECHO This script scans the top level directory entries (usually ACCOUNTS) ECHO and reports for each top tree node: total sectors, total count of ECHO file objects, 'Big File Sectors'(the size of the largest file in the ECHO tree node), earliest file create date, latest file modified date, and ECHO the latest file access date. ECHO ECHO NOTE: Other directory objects ACCT,GROUP,DIR,HFSDIR, & SYMLINKS, ECHO are not included in anything but the total sectors, as due to a quirk ECHO in MPE/iX they would invalidate the create, access, and Modify dates. ECHO Also, directory names are truncated to the first 9 characters. ECHO ECHO DIRECTORY TOTAL TREE TOTAL BIG FILE EARLIEST LATEST LATEST ECHO TREE (1-9) SECTORS FILES SECTORS CREATE YMD MODIFY YMD ACCESS YMD SETVAR O_F,!HPMSGFENCE SETVAR S_CNT,0 SETVAR HPMSGFENCE,10 PURGE DUMSG,TEMP >$NULL BUILD DUMSG;REC=-100,,F,ASCII;TEMP;MSG;DISC=100000 FILE DUMSG=DUMSG,OLDTEMP DISKUSE / >*DUMSG WHILE FINFO("DUMSG",19) <> 0 INPUT D_REC < DUMSG IF STR("!D_REC",12,1) = "+" AND STR("!D_REC",26,1) = "/" THEN SETVAR T_REC,RHT("!D_REC",-26) PURGE ALMSG,TEMP >$NULL BUILD ALMSG;REC=-255,,F,ASCII;TEMP;MSG;DISC=1000000 FILE ALMSG=ALMSG,OLDTEMP LISTFILE !T_REC;SELEQ=[OBJECT=FILE];FORMAT=6 >*ALMSG SETVAR ALCR,99999999 SETVAR ALMM,00000000 SETVAR ALMA,00000000 SETVAR TL_MAX,0 SETVAR T_CNT,0 WHILE FINFO("ALMSG",19) <> 0 INPUT A_REC < ALMSG SETVAR A_C,99999999 SETVAR A_M,0 SETVAR A_A,0 SETVAR A_S,0 SETVAR T_CNT,T_CNT+1 SETVAR S_CNT,S_CNT+1 SETVAR A_C,FINFO('!A_REC',"INTCREATED") SETVAR A_M,FINFO('!A_REC',"INTMODDATE") SETVAR A_A,FINFO('!A_REC',"INTACCESSED") SETVAR A_S,FINFO('!A_REC',"SECTORS") IF !A_C < !ALCR THEN SETVAR ALCR,!A_C ENDIF IF !A_M > !ALMM THEN SETVAR ALMM,!A_M ENDIF IF !A_A > !ALMA THEN SETVAR ALMA,!A_A ENDIF IF !A_S > !TL_MAX THEN SETVAR TL_MAX,!A_S ENDIF ENDWHILE SETVAR T_REC,STR('!T_REC',2,-10) SETVAR D_REC,STR('!D_REC',1,-11) SETVAR FF,RHT(' '+'!T_CNT',6) SETVAR MF,RHT(' '+'!TL_MAX',8) SETVAR MC," " SETVAR MM," " SETVAR MA," " IF !FF > 0 THEN SETVAR MC,STR('!ALCR',1,-4)+'/'+STR('!ALCR',5,-6)+'/'+STR('!ALCR',7,-8) SETVAR MM,STR('!ALMM',1,-4)+'/'+STR('!ALMM',5,-6)+'/'+STR('!ALMM',7,-8) SETVAR MA,STR('!ALMA',1,-4)+'/'+STR('!ALMA',5,-6)+'/'+STR('!ALMA',7,-8) ENDIF ECHO !T_REC !D_REC !FF !MF !MC !MM !MA ENDIF ENDWHILE SETVAR D_REC,STR('!D_REC',1,-11) SETVAR FF,RHT(' '+'!S_CNT',6) ECHO ECHO TOTALS !D_REC !FF SETVAR HPMSGFENCE,!O_F PURGE DUMSG,TEMP >$NULL PURGE ALMSG,TEMP >$NULL DELETEVAR ALCR,ALMM,ALMA,TL_MAX,T_CNT,A_C,A_M,A_A,A_S DELETEVAR O_F,D_REC,T_REC,FF,MF,MC,MM,MA