[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理怎样实现背英语单词?

set number=3
set count=0
for /f "tokens=1,2" %%i in (CET4.txt) do (
        echo 请输入 %%j 对应的单词
:a       
        set /p input=
        if "%%i"=="%%input"(
                echo 恭喜你答对了
                count+=1
                if count==number exit
                ) else (
                        echo 对不起,你输入的单词错误,请再次输入
                        goto a
                        )
        )
我知道您看不懂这代码,我水平差的很,写出来的东西错误多的很。
我的意思估计您能看个差不多,就是从CET4.txt文件中,
(CET4.txt文件中的内容:
abandon vt.丢弃;放弃,抛弃
ability n.能力;能耐,本领
abnormal a.不正常的;变态的
abandon vt.丢弃;放弃,抛弃
ability n.能力;能耐,本领
……)
每次读取一行,然后显示汉字,提示输入对应的英文单词,输错了要求重新输入,
输入正确的话,count记录正确的次数,如果count等于预先设定好的number(表明每次要考的单词数量)的值,就结束,否则继续考下一个单词。
希望高手能给帮忙,帮我解决这个问题,还有点补充,就是,
在一个sign.txt文件中存放一个数字,记录单词学习到了哪行,
每次批处理运行,读取该数字,然后从该行的下一行开始考,考完之后,将该数字修改为原来的数字加上number(每次学习的单词数)。
比如第一次开始,sign.txt中的值为0,批处理运行后,读取0,然后从1行开始考,考完之后,将sign.txt中的值该写为0+number的值。
下一次运行该批处理,就可以接着上次的单词,继续往下学习。
说的啰嗦了,我想高手应该明白我的意思,求高手帮忙,谢谢。
1

评分人数

    • Batcher: 请编辑自己的帖子,把代码放到code标签里面 ...PB -2

不知是否符合LZ的要求。
被我搞得有点复杂了!呵呵……
  1. @echo off
  2. mode con cols=70 lines=25
  3. color 0a
  4. setlocal enabledelayedexpansion
  5. set/a number=3,count=0
  6. set/p ui=<sign.txt||set ui=0
  7. :a
  8. for /f "tokens=1,2" %%i in ('more +%ui% CET4.txt') do (
  9. set "y=%%j"&set s=%%i
  10. call :c)
  11. pause&exit
  12. :c
  13. cls
  14. set/p input=请输入与!y!对应的单词:
  15.   if /i "!input!"=="!s!" (echo 回答正确。
  16.     set/a count+=1
  17.       if "!count!"=="!number!" (echo 测验完成。
  18.         set/a we=ui+number
  19.           echo !we!>sign.txt&pause&exit)
  20.         pause) else (echo 对不起,你输入的单词错误,请再次输入
  21.           ping -n 1 /w 200 99.99 >nul 2>nul
  22. goto c)
复制代码

[ 本帖最后由 gshccr 于 2010-11-2 14:31 编辑 ]

TOP

  1. cls
  2. for /f "tokens=1,*delims= " %%a in (单词.txt) do (
  3. echo 词义是【%%b】,请写出单词。
  4. set /p var=输入单词:
  5. if "!var!"=="%%a" (echo 回答正确!~%%a  %%b ) else (echo 回答错误!正确单词是:%%a)
  6. )
复制代码

没设随机、统计、记录等……
没试过
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

返回列表