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

后端 未结 17 1964
南方客
南方客 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:39

    I Improved Aacini Answer to make it Echo Full day of week Name

    So here's my Code

    @echo off
    for /F "skip=1 tokens=2-4 delims=(-/)" %%A in ('date ^< NUL') do (
       for /F "tokens=1-3 delims=/" %%a in ("%date%") do (
          set %%A=%%a
          set %%B=%%b
          set %%C=%%c
       )
    )
    set /A mm=10%mm% %% 100, dd=10%dd% %% 100
    if %mm% lss 3 set /A mm+=12, yy-=1
    set /A a=yy/100, b=a/4, c=4-a+b, e=36525*(yy+4716)/100, f=306*(mm+1)/10,dow=(c+dd+e+f-1523)%%7 + 1
    for /F "tokens=%dow%" %%a in ("Sunday Monday Tuesday Wednesday Thursday Friday Saturday ") do set dow=%%a
    echo Today is %dow%>"Today is %dow%.txt"
    echo Today is %dow%
    Pause>Nul
    
    REM Sun Mon Tue Wed Thu Fri Sat
    REM Sunday Monday Tuesday Wednesday Thursday Friday Saturday  
    

提交回复
热议问题