[公开处刑] 使用批处理制作史上最低效的 高考倒计时

微信图片_20200108191526.png

        说实话,编程其实我是啥都不会,做这东西用的也不算啥编程语言...几年前,初三的时候我老爱玩批处理,当时就做了个中考倒计时。现在临近高考,去年暑假把文件改成了这个...这个的功能主要就是显示剩余时间,根据剩余时间显示不同背景色,启动时还有语音播报。这个倒计时适用于2020年北京高考(6.7),如果明年时间不变的话,从7月开始就可以显示新一年高考的倒计时。
        想不到这个简单东西我竟然整了100多行,基本可以说是写的效率最低的倒计时了,而且不是低到一定境界了...发上来公开处刑一下吧!
        对了,其中可能还藏有没被我发现的BUG...各位见谅!

下载地址及使用方法

点击下载:高考倒计时V2.0.rar

使用方法:免安装,直接运行即可
支持的操作系统:Windows 7 及其以上版本(32/64位均可)
运行库:无需额外运行环境,直接打开即可

        若想开机自启动,直接将文件放到目录

%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

        中即可。

微信图片_20200108195544.png

        由于XP没有用来超时的timeout.exe,所以直接运行会造成无停歇循环,单核CPU可能满载。若想解决这个问题,大家可以把第106行的

timeout 1 >nul

        改成

ping 127.0.0.1 -n 2 >nul

        但vbs语音可能不太支持...

源码

        最后把源码贴上来接受公开处刑...

@mode con cols=37 lines=4
@echo off
title 高考倒计时 - 请稍候...
echo ┌────────────────┐
echo       ------- 加载中... -------
echo └────────────────┘
:bset
set windows7=0
:begin
if /i "%date:~8,1%"=="0" goto aa
set y=%date:~6,1%
set r=%date:~8,2%
:begi
if /i "%date:~5,1%"=="1" goto pand
if /i "%y%"=="1" goto pand
if /i "%y%"=="7" goto qi
if /i "%y%"=="8" goto ba
if /i "%y%"=="9" goto jiu
if /i "%y%"=="2" goto er
if /i "%y%"=="3" goto san
if /i "%y%"=="4" goto si
if /i "%y%"=="5" goto wu
if /i "%y%"=="6" goto liu
goto wwww
:pand
set y=%date:~5,2%
if /i "%y%"=="10" goto shi
if /i "%y%"=="11" goto shiyi
if /i "%y%"=="12" goto shier
set y=%date:~6,1%
goto yi
:aa
set r=%date:~9,1%
set y=%date:~6,1%
goto begi
:qi
set /a s=31-%r%+311
goto end
:ba
set /a s=31-%r%+280
goto end
:jiu
set /a s=30-%r%+250
goto end
:shi
set /a s=31-%r%+219
goto end
:shiyi
set /a s=30-%r%+189
goto end
:shier
set /a s=31-%r%+158
goto end
:yi
set /a s=31-%r%+127
goto end
:er
set /a s=29-%r%+98
goto end
:san
set /a s=31-%r%+67
goto end
:si
set /a s=30-%r%+37
goto end
:wu
set /a s=31-%r%+6
goto end
:liu
set /a s=6-%r%
goto end
:end
set miao=%time:~-5,2%
set fen=%time:~-8,2%
set shi=%time:~-11,2%
:panduan
if /i "%shi:~0,1%"=="" goto zaos
if /i "%fen:~0,1%"=="0" goto zaof
if /i "%miao:~0,1%"=="0" goto zaom
goto eee
:zaos
set shi=%shi:~1,1%
if /i "%fen:~0,1%"=="0" goto zaof
if /i "%miao:~0,1%"=="0" goto zaom
goto eee
:zaof
set fen=%fen:~1,1%
if /i "%miao:~0,1%"=="0" goto zaom
goto eee
:zaom
set miao=%miao:~1,1%
goto eee
:eee
set /a miao=60-%miao%-1
set /a fen=60-%fen%-1
set /a shi=24-%shi%-1
if /i %shi% GEQ 15 (
set /a s=%s%+1
set /a shi=9-%time:~-10,1%-10
)
if %s% LEQ -1 goto wwww
set /a shi=%shi%+9
if /i "%windows7%"=="0" goto jia
if /i "%windows7%"=="1" goto jiaa
:echo
timeout 1 >nul
cls
echo ┌────────────────┐
echo   距离高考还有%s%天%shi%小时%fen%分钟%miao%秒
echo └────────────────┘
if /i %s% GEQ 100 color 9e& goto re
if /i %s% GEQ 50 color ec& goto re
if /i %s% GEQ 30 color ce& goto re
if /i %s% GEQ 10 color 4e& goto re
color 0c
:re
goto begin
:jia
set /a windows7=%windows7%+1
echo msgbox"距离高考还有%s%天","48","加油!">%temp%\高考剩余天数.vbs
echo set sapi=createobject("sapi.spvoice")>>%temp%\语音.vbs
echo sapi.speak "距离高考还有%s%天">>%temp%\语音.vbs
start %temp%\高考剩余天数.vbs
start %temp%\语音.vbs
if /i %s% GEQ 100 color 9e& goto echo
if /i %s% GEQ 50 color ec& goto echo
if /i %s% GEQ 30 color ce& goto echo
if /i %s% GEQ 10 color 4e& goto echo
color 0c
goto echo
:jiaa
del %temp%\高考剩余天数.vbs
del %temp%\语音.vbs
set /a windows7=%windows7%+1
title 高考倒计时
goto echo
:wwww
title 高考倒计时
cls
echo ┌────────────────┐
echo   距离高考还有0天0小时0分钟0秒
echo └────────────────┘
pause>nul

        各位高考加油!!!

GTX2090

GTX2090

某摄影小白的小破站~

留下你的评论

快留下你的小秘密吧