Изменяя число в этой переменной day=+1
, вы добавите больше дней к вашему результату, или изменив на day=-1
, удалит день и т. Д.
@echo off
set day=+1
echo>"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "result=%yyyy%-%mm%-%dd%"
echo %DD%
pause
Это будет повторять только день +1. Однако, если вы хотите отобразить результат с полной датой, просто наберите echo %result%
YYYY
, MM
и DD
в любом случае разделены на отдельные переменные, поэтому вы можете использовать их, если хотите.
Так же, как sidenote:
echo>"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right
почти так же, как:
echo s=DateAdd("d",%day%,now) : d=weekday(s) >"%temp%\%~n0.vbs"
echo WScript.Echo year(s)^& right(100+month(s),2)^& right >>"%temp%\%~n0.vbs"
CMD
будет в значительной степени делать то же самое для обоих, то есть передавать данные в файл. Я просто делаю это, читая строку, и вы сразу же видите, что делает эта строка, echo
во внешнем файле, следующая строка.