Пакет DOS, определить, если последний понедельник месяца? - PullRequest
0 голосов
/ 26 июля 2011

Возможно ли в пакетном файле DOS проверить, является ли текущий день последним понедельником месяца? Если так, как я могу это сделать?

1 Ответ

1 голос
/ 26 июля 2011

Я думаю, что это сработает ... тест для дня недели, а затем, будет ли дата больше 24 (или 23 для месяцев с 30 днями, или 21 для февраля ... быть 22 в високосные годы, так что вы также хотите добавить этот тест):

@echo off
set Day=%date:~0,3%
IF "%Day%"=="Mon" set Monday=1
set today=%date:~7,2%
set lim=24
if "%date:~4,2%"=="02" set lim=21
if "%date:~4,2%"=="04" set lim=23
if "%date:~4,2%"=="06" set lim=23
if "%date:~4,2%"=="09" set lim=23
if "%date:~4,2%"=="11" set lim=23
if "%today%" GTR "%lim%" set Last=1
if "%Monday%"==1 goto itsMonday
:itsMonday
if "%Last%"=="1" echo last monday of the month
:end
...