![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 12:53 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 用批处理如何抽取文本的的行数 |
| 可打印版本 2,499 / 6 |
| 第1楼 chainliq | 发表于 2006-11-20 08:23 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
用批处理如何抽取文本的的行数 有一文本的内容如下:
87695494----1234565287145532 85467769----254585452 80366483----665322525 84693672----4445875 80319820----55889654 如何写个批处理:运行的时候,只要就输入87695494 就显示文本中87695494“----”后面的内容:1234565287145532 呵呵,因为我对抽取这方面的内容不是很懂,如果用:rem 的话,又好麻烦呀! 请各位帮忙哦 附件 {3F737E6B-456F-4486-AD21-B0DFB7B8C4BC}.BMP (25.22 KiB) |
|
| 第2楼 9527 | 发表于 2006-11-20 08:54 |
| 银牌会员 发帖 438 积分 1,185 来自 北京 | |
|
@echo off&setlocal
set/p a=enter: for /f "tokens=1,2 delims=-" %%a in ('findstr "%a%" test.txt') do echo %%b |
|
| 第3楼 chainliq | 发表于 2006-11-20 10:22 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
9527 兄弟的这个,在XP系统中可以运行,可是在2000系统中显示无法打开呀,还有别的方法吗?而我用的是2000系统呀!如上图
[ Last edited by chainliq on 2006-11-20 at 10:24 AM ] |
|
| 第4楼 3742668 | 发表于 2006-11-20 13:03 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
把findstr换成find试试。
如果文件不大的话,也可以尝试一下下面的方案: 上面的脚本同样测试于XP中。 |
|
| 第5楼 tao0610 | 发表于 2006-11-20 14:29 |
| 高级用户 发帖 218 积分 579 | |
| 第6楼 chainliq | 发表于 2006-11-21 18:40 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
那显示完成后就删除显示那一行,如:87695494----1234565287145532
显示完:1234565287145532 后,删除这一行:87695494----1234565287145532 该怎么改呢! |
|
| 第7楼 nanhui112 | 发表于 2008-01-06 20:27 |
| 初级用户 发帖 59 积分 127 | |
|
@echo off
set /p a=enter: for /f "delims=- tokens=1,2" %%a in (1.txt) do if %%a==%a% echo %%b echo 删除这行吗,(Y/N) set /p del= if /i not "%del%“=="Y” goto :eof for /f %%i in ('findstr /v ^%a%.* "1.txt"') do >2.txt echo %%i echo 删除完毕。 pause>nul &exit |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |