Setting a windows batch file variable to the day of the week

后端 未结 17 1962
南方客
南方客 2020-11-27 20:14

I have a windows batch file that runs daily. Wish to log data into a file and want to rotate it (i.e. having at most the last 7 days worth of data).

Looked into the

17条回答
  •  庸人自扰
    2020-11-27 20:34

    @ECHO OFF
    REM GET DAY OF WEEK VIA DATE TO JULIAN DAY NUMBER CONVERSION
    REM ANTONIO PEREZ AYALA
    REM GET MONTH, DAY, YEAR VALUES AND ELIMINATE LEFT ZEROS
    FOR /F "TOKENS=1-3 DELIMS=/" %%A IN ("%DATE%") DO SET /A MM=10%%A %% 100, DD=10%%B %% 100, YY=%%C
    REM CALCULATE JULIAN DAY NUMBER, THEN DAY OF WEEK
    IF %MM% LSS 3 SET /A MM+=12, YY-=1
    SET /A A=YY/100, B=A/4, C=2-A+B, E=36525*(YY+4716)/100, F=306*(MM+1)/10, JDN=C+DD+E+F-1524
    SET /A DOW=(JDN+1)%%7
    

    DOW is 0 for Sunday, 1 for Monday, etc.

提交回复
热议问题