@goto code
::精简一下
:code
@echo off&chcp 936&cls
set /p txt=(拖进此窗口,开始阅读)
set /p speed=大约每分钟?字
if {%speed%}=={} set/a rate=112&goto start
set /a rate=56200/%speed% &goto start
goto code
:start
::下面两句不可颠倒
call :sleep
chcp 936&cls
call :f_timec "0"
mode con cols=60 lines=38&color 80
for /f "delims= eol=" %%i in ('findstr /n .* %txt%') do (
set "str=%%i"
call set "str=%%str:"= %%"
call set "str=%%str:*:=%%"
call :pickup
)
goto end
:pickup
if not defined str echo.&goto :eof
if "%str:~0,1%"=="=" set "str=〓%str:~1%"
set /p "=%str:~0,1%"<nul
%tmp%\sleep %rate%
set "str=%str:~1%"
if defined str goto pickup
goto :eof
:end
call :f_timec "1"
echo 用时%ht%小时%mt%分钟%st%.%pt%秒
echo 按任意键over!&pause>nul&exit
rem ------- 子函数 --------
:f_timec
set "t=%time%"
if "%t:~0,1%"==" " (set/a t1=0) else set/a t1=%t:~0,1%
set/a t2=%t:~1,1%,t3=%t:~3,1%,t4=%t:~4,1%,t5=%t:~6,1%,t6=%t:~7,1%,t7=%t:~9,1%,t8=%t:~-1%
set/a ft=3600000*%t1%+360000*%t2%+60000*%t3%+6000*%t4%+1000*%t5%+100*%t6%+10*%t7%+%t8%
if %1=="0" (set bt=%ft%) else (set et=%ft%&call :f_timec_s)
goto :eof
:f_timec_s
if %et% lss %bt% set/a et=%bt%+8640000
set/a ct=%et%-%bt%
set/a ht=%ct%/360000
set/a mt=(%ct%-360000*%ht%)/6000
set/a st=(%ct%-360000*%ht%-6000*%mt%)/100
set/a pt=%ct%-360000*%ht%-6000*%mt%-100*%st%
goto :eof
:sleep
cd.>%tmp%\sleep.com
(echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6
echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?
echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz
echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk
echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=
echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R
echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?
echo dsmSQswDOR