Стоит скрипт:
for /f %%j in ('wmic path win32_utctime get /format:list ^| findstr "Day="') do (
set "toda=%%~j"
)
for /f %%t in ('wmic path win32_utctime get /format:list ^| findstr "Month="') do (
set "tomont=%%~t"
)
for /f %%i in ('wmic path win32_utctime get /format:list ^| findstr "Year="') do (
set "toyea=%%~i"
)
set today=%toda:~4,5%
set tomonth=%tomont:~6,7%
set toyear=%toyea:~5,8%
Также дополнен этим:
if %acday%==%today% (
if %month%==%tomonth% set "hb=echo Happy birthday!" && goto next
) else (goto next)
в этом самом :next такой код (изначально поставил set "hb=rem aaa"):
cls
%hb%
echo Hello, %name%!
echo Today: %today%.%tomonth%.%toyear%
При выполнении выводит:
Hello, lik173!
Today: 10.Month=2.2021
Почему Month=2? Сейчас 6 месяц.
Вывод
wmic path win32_utctime get /format:list
:
Day=10
DayOfWeek=4
Hour=9
Milliseconds=
Minute=35
Month=6
Quarter=2
Second=18
WeekInMonth=2
Year=2021
И час 9 показывает
А так 12 часов