@Echo Off
set date0=%date:~0,10%
set /a year0 = %date0:~0,4%
if %date0:~4,1% == %date0:~6,1% (set month0=%date0:~5,1%) else (
set month0=%date0:~5,2%)
if %month0:~,1% == 0 set /a month0 = %month0:~-1%
if %date0:~4,1% == %date0:~-2,1% (set day0=%date0:~-1%) else (
set day0=%date0:~-2%)
if %day0:~,1% == 0 set /a day0 = %day0:~-1%
set date0=
set /a year1=%year0%%%4
set /a month1=%month0%-1
set /a month2=%month0%+1
set /a reye=(%year0%-1970+1)/4+365*(%year0%-1970)
set year0=
if %month0% LEQ 2 (set /a remo=%month0%/2+30*%month1%) else (
if %month0% LEQ 8 (
if %year1%==0 (set /a remo=%month0%/2+30*%month1%-1) else (
set /a remo=%month0%/2+30*%month1%-2)) else (
if %year1%==0 (set /a remo=%month2%/2+30*%month1%-1) else (
set /a remo=%month2%/2+30*%month1%-2)))
set year1=
set month1=
set month2=
set month0=
set /a reda=%day0%-1
set day0=
set /a re = %reye%+%remo%+%reda%-6
set /a week0 = (%reye%+%remo%+%reda%+4)%%7
if %week0% NEQ 0 echo Today is not Sunday, sorry! Please run it on Sunday! & goto end
set week0=
set reye=
set remo=
set reda=
set /a year1=(%re%%%1461)/365
set /a day0=(%re%%%1461)%%365
if %year1%==3 if %day0%==0 (set /a year1=%year1%-1 & set /a day0=365) else (set /a day0=%day0%-1)
if %year1%==4 set /a year1=%year1%-1 & set /a day0=364
set /a year0=1970+(%re%/1461)*4+%year1%
set re=
set /a month0=(%day0%)/31+1
set /a day0=%day0%%%31+1
set /a month1=%month0%-1
set /a month2=%month1%-1
if %month0% EQU 2 (if %year1%==2 (if %day0% GEQ 30 (set /a month0 = 3 & set /a day0=%day0%-29)) else (
if %day0% GEQ 29 (set /a month0 = 3 & set /a day0=%day0%-28))) else (
if %month0% GEQ 9 (if %year1%==2 (set /a day0=%day0%+%month2%/2+1) else (set /a day0=%day0%+%month2%/2+2)) else (
if %month0% GEQ 3 (if %year1%==2 (set /a day0=%day0%+%month1%/2+1) else (set /a day0=%day0%+%month1%/2+2))))
set year1=
set month1=
set month2=
set /a month3=%month0%%%2
if %month0% GTR 7 if %month3%==0 (if %day0% GEQ 32 (set /a month0=%month0%+1 & set /a day0=%day0%-31)) else (
if %day0% GEQ 31 (set /a month0=%month0%+1 & set /a day0=%day0%-30))
if %month0% GEQ 3 if %month0% LEQ 7 if %month3%==0 (if %day0% GEQ 31 (set /a month0=%month0%+1 & set /a day0=%day0%-30)) else (
if %day0% GEQ 32 (set /a month0=%month0%+1 & set /a day0=%day0%-31))
set month3=
if %month0% == %month0:~,1% set month0=0%month0%
if %day0% == %day0:~,1% set day0=0%day0%
set date0=%year0%-%month0%-%day0%
set year0=
set month0=
set day0=
echo Now start statistics: >c:\%date:~0,10%.txt
for /f "tokens=1,2,3" %%c in (C:\OV-BLM-001_2010-10-20_16-02-20.txt) do (
if %%c GEQ %date0% if %%c LSS %date:~0,10% (echo %%c %%d %%e >>c:\%date:~0,10%.txt) & set a=a)
if defined a echo Data from %date0% (Monday) to %date:~0,10% (Sunday) has been counted. & set a=
set date0=
:end
pause