回复: 倒计时
@echo off&setlocal enabledelayedexpansion
title 2010上海世博会开幕 made by 鬼鬼小猫咪
mode con cols=60 lines=10&color 1c
if defined ok goto end
set "ok=a"&start /b %~nx0
)
for /l %%a in (1,1,60) do set "k=!k! "
set /a num=30,_2010=4
for %%a in (1 3 5 7 8 10 12 4 6 9 11) do (
if %%a equ 4 set /a num-=1
set /a _%%a=num
)
:again
set /a y=%date:~,4%,mo=1%date:~5,2%%%100,d=1%date:~8,2%%%100,h=%time:~,1%,m=1%time:~0,2%%%100,s=1%time:~6,2%%%100,ms=1%time:~9,2%%%100,_%y%=mo,num_d=-2
for /l %%a in (%y% 1 2010) do (
if %%a equ 2010 (set /a _2=29) else set /a _2=28
if %y% equ 2010 (
if %mo% equ 4 (
set /a num_d+=31-d
) else (
for /l %%b in (%mo% 1 4) do set /a num_d+=_%mo%
set /a num_d-=d
)
) else (
if %%a neq 2010 set /a num_d+=365
for %%b in (%y% 2010) do (
if %%b equ %%a (
if %%b equ %y% (set "+=-"&set /a num_d+=_%mo%-d) else set "+=+"
for /l %%c in (1,1,!_%%b!) do set /a num_d!+!=_%%c
)
)
)
)
set /a num_h=35-h,num_m=71-m,num_s=59-s,num_ms=100-ms
for %%a in (ms-100-s s-60-m m-60-h h-24-d) do (
for /f "tokens=1-3 delims=-" %%a in ("%%a") do if !num_%%a! geq %%b set /a num_%%a-=%%b,num_%%c+=1
)
if %num_ms% lss 10 set "num_ms=0%num_ms%"
set /p=%k% 离2010上海世博会开幕还有%num_d%天%num_h%小时%num_m%分%num_s%秒%num_ms%毫秒<NUL
for /l %%a in (1,1,600) do echo>nul
goto again
:end
echo.&echo.&echo 精彩世博 瑞星护航&echo.&echo.
pause>nul
taskkill /fi "windowtitle eq 2010上海世博会开幕 made by 鬼鬼小猫咪">nul