@*ECHO OFF *SETLOCAL *UNALIAS * :: ISOWeek.btm V-1.20 May 2005 - Michael Bednarek :: Computes ISO 8601 Week Number (condensed code) :: Input: A legal date (>=1980-01-01, <=2099-12-31); no check. :: Output: yyyy*100 + ww FUNCTION ISODOWI=`%@EVAL[(%@DOWI[%1] + 5) %% 7 + 1]` SET ThuNow=%@MAKEDATE[%@EVAL[%@DATE[%1] + 4 - %@ISODOWI[%1]],4] SET theYear=%@YEAR[%ThuNow] SET ISOWeek=%@EVAL[%theYear * 100 + (%@DATE[%ThuNow] - %@EVAL[%@DATE[%theYear-01-04] + 4 - %@ISODOWI[%theYear-01-04]]) \ 7 +1] IF %_BATCH LT 2 ECHO ISO Week: %ISOWeek QUIT %ISOWeek