![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-02 01:03 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,279 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 帮忙优化一下及修改? |
| 可打印版本 1,132 / 1 |
| 第1楼 guo882633 | 发表于 2010-04-01 22:23 |
| 初级用户 发帖 53 积分 126 来自 - | |
|
帮忙优化一下及修改? @echo off
mode con lines=20 cols=90 :sot cls echo. set ID= set /p ID= 请输入3位学生代号码: for /f "tokens=1*" %%i in ('findstr "%ID:~0,10%" mdb.txt') do ( cls echo. echo 学生号:%ID% echo. echo. echo 学生信息:%%j ) pause >nul 2>nul goto sot mdb.txt内容 00001 张三 语文 成绩:100分 00002 张四 语文 成绩: 85分 00003 张五 语文 成绩: 90分 请高手帮忙改下,把结果分行显示出来(例:姓名一行。科目一行。成绩一行显示出来) 谢谢 |
|
| 第2楼 Hanyeguxing | 发表于 2010-04-02 13:07 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
'findstr "%ID:~0,10%" mdb.txt'这样使用是错误的,例如ID为1时,findstr是无法区分00001和00011与成绩:100分这些的。
允许ID为1或01或001或0001或00001等,等效为00001 变量%m%为学生ID的最大值 推荐mdb.txt中ID为从00001开始的连续数字 如果输入的ID与mdb.txt中的ID完全一致,则:n到::查询中间的部分可以不用 [ Last edited by Hanyeguxing on 2010-4-2 at 14:52 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |