3351321147 当前离线
列兵
@echo off :+ spaek 朗读文本 set txt="C:\Users\33513\Desktop\English.txt" setlocal ENABLEDELAYEDEXPANSION echo.&echo.&title %~n0 & echo. 单词拼写 & echo. :: 存储选择的天数记录行数1选择的2下一个 set day1= set day2= :: boolean判断是否选择了,name是选择的天数 set boolean=false set name= :: 单词数量记录 set /a munF=0 : forS :: 循环英语列表然后将bay输出供选择 for /f "tokens=1-9 delims=:" %%a in ('type %txt% ^| findstr /n ".*day"') do ( :: %%a 是行号,%%b是天数bay set i=%%b set i=!i:~0,1!! if !boolean! EQU true set day2=%%a & goto forF if not defined name ( if 0 EQU !munF! (set munF=%%a) else ( set /a "munF=%%a - !munF! -1" echox -fc " 单词量: !munF!" set munF=%%a ) echox -n " %%b" ) else if !name! EQU !i! ( set boolean=true set day1=%%a ) ) echox -fc " 单词量: 0" if !boolean! EQU true goto forF echo x退出 echo.请输入天数的数字: set /p name=数字: if /i %name% EQU x exit goto forS :forF :: 循环考研10次 set a=0 for /L %%a in (1,1,10) do ( : s :: 通过计算将随机数设置在指定行号之间 set /a "s=!random! %%(%day2%-%day1%-1)" :: 判断重复,小判断 if !a! EQU !s! (goto s) else (set a=!s!) echo.& echo.第%%a句 call :dp !s! ) 2>nul goto del : dp :: 通过%1行号然后循环判断到%1行号后将单词与文本调用 set name=%1 set /a mundp=0 for /f "skip=%day1% tokens=1,2 delims= " %%a in ('type %txt%') do ( if !mundp! EQU !name! call :forFs %%a %%b& goto :eof set /a mundp+=1 ) :forFs start /i /b /min "" speak -t %1 echox -n 请输入英语: & echox -fc " %2" set /p yinyu=英语: if /i "!yinyu!" EQU "%1" (goto true ) else ( echox -fc "您输入有误: %1" speak -t %1 goto false ) goto forFs : true set /a muna+=1 echox -fc 输入正确! goto :eof : false set /a munx+=1 goto :eof : del if not defined muna set muna=0 if not defined munx set munx=0 set /a munMAX+=1 echox -f9 " 当前正确数量: !muna!" echox -f9 " 当前错误数量: !munx!" echox -f9 " 当前执行次数: !munMAX!" if !munx! EQU 0 (echox -fd "恭喜你没错误完成了!!!") else echo 再接再厉 pause >nul %0复制代码
TOP
1day i 我 my 我的 like 喜欢 you 你 your 你的 mother 母亲 father 父亲 dog 狗 cat 猫 book 书 student 学生 teacher 老师 2day red 红色 green 绿色 blue 蓝色 black 黑色 white 白色 big 大 small 小 room 房间 we 我们 our 我们的 phone 手机 house 房子 computer 电脑 Ther 他们 their 他们的 3day复制代码
:forF :: 循环考研10次 set a=0 for /L %%a in (1,1,10) do ( : s :: 通过计算将随机数设置在指定行号之间 set /a "s=!random! %%(%day2%-%day1%-1)" :: 判断重复,小判断 if !a! EQU !s! (goto s) else (set a=!s!) echo.& echo.第%%a句 call :dp !s! ) 2>nul复制代码