parm fname="?", agevar="_files_age",entry="MaIn",year=1,month=1,day=1 # FILEAGE.XEQ - SHOW A FILE'S AGE # Paul H. Christidis if "!fname" = "?" then echo ![chr(7)] echo Usage ![finfo(hpfile,"fname")] filename [agevar] echo echo Filename - The file whose age, in terms of days, is to be echo calculated. echo echo agevar - CI variable that will hold the file's age. If echo not supplied the default of '_files_age' is used. echo ![chr(7)] return endif if "!entry" = "CoMpUtE" then setvar _fa_tmp ![!year - 1] setvar !agevar _fa_tmp*365 +(_fa_tmp/4) -(_fa_tmp/100) +(_fa_tmp/400) +!day setvar _fa_tmp 0 while setvar (_fa_tmp,_fa_tmp + 1) < !month do setvar !agevar !agevar + ![STR(_fa_mdays,(1+(_fa_tmp-1)*2),2)] endwhile if !month > 2 AND ( (!year MOD 4 = 0) AND & (!year MOD 100 <> 0 OR !year MOD 400 = 0) ) then setvar !agevar !agevar + 1 endif return # else setvar _fa_crdate finfo("!fname","intcreated") setvar _fa_month (_fa_crdate mod 10000)/100 setvar _fa_date (_fa_crdate mod 100) setvar _fa_year (_fa_crdate / 10000) setvar _fa_mdays '312831303130313130313031' xeq !hpfile "!fname", "!agevar", "CoMpUtE", _fa_year, _fa_month, _fa_date xeq !hpfile "!fname", "_fa_tage", "CoMpUtE", hpyyyy, hpmonth, hpdate setvar !agevar _fa_tage - ![!agevar] echo "!fname" is ![!agevar] day(s) old deletevar _fa_@ endif