中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 17:18
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 文本过滤
可打印版本  702 / 4
第1楼 xycoordinate 发表于 2008-05-21 19:51
中级用户 发帖 228 积分 493 来自 安徽
文本过滤
我有个文本text.txt:

┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 1┃ 10206┃1020601011003124488 ┃ 890.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 2┃ 10206┃1020601011003116860 ┃ 860.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃小计┃ 2┃ ┃ 1,750.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 1┃ 15600┃1560001011002018992 ┃ 35,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 2┃ 15600┃1560001011001880180 ┃ 5,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 3┃ 15600┃1560001011000413473 ┃ 10,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 4┃ 15600┃1560001011001607063 ┃ 30,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 5┃ 15600┃00600000000000211333 ┃ 46.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 6┃ 15600┃1560001011002018992 ┃ 45,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 7┃ 15600┃1560001011001450918 ┃ 1,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 8┃ 15600┃00600000000000249809 ┃ 1,900.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃小计┃ 8┃ ┃ 127,946.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋


现在想过滤成只有15600的"小计",即
┃小计┃ 8┃ ┃ 127,946.00┃

[ Last edited by xycoordinate on 2008-5-21 at 07:53 PM ]
第2楼 plp626 发表于 2008-05-21 20:38
银牌会员 发帖 1,020 积分 2,278
findstr 小计 text.txt
for /f "skip=1 delims=" %%a in ('findstr 小计 text.txt')do echo\%%a
第3楼 joyn 发表于 2008-05-21 20:46
中级用户 发帖 105 积分 280 来自 广西
用来干嘛的?
第4楼 xycoordinate 发表于 2008-05-23 13:52
中级用户 发帖 228 积分 493 来自 安徽
问题已经解决!!!
第5楼 terse 发表于 2008-05-23 17:07
银牌会员 发帖 946 积分 2,404
@echo off&setlocal enabledelayedexpansion
for /f "delims=┃ tokens=1,2,3,4" %%i in (text.txt) do (
set str1=%%i&set str2=%%j
set str4=!str1: =!&set str2=!str2: =!
if !str2! equ 15600 set n=15600
if defined n if "!str1!"=="小计" echo ┃%%i┃ %%j┃ %%k┃ %%l┃&set n=
)
pause
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023