这是结合13楼与16楼的特点的一个解法
将每五行文本连接拼成一个变量
为了规避for的32个tokens的限制
替换了空格、TAB和/A
为了解决双引号不能同时与其它字符做分隔符的问题
替换了双引号为单引号- @echo off&setlocal enabledelayedexpansion
- (echo 被评分者 帖子内容预览 评分者 评分时间 积分变动 评分理由
- for /f "skip=5 delims=" %%i in ('findstr /r "pid= <td.*/td>$" a.txt') do (
- set /a n+=1
- set var=!var!%%i
- if !n!==5 (
- set foo=!var: =!
- set foo=!foo: =!
- set foo=!foo:"='!
- set foo=!foo:/a=!
- for /f "tokens=6,9,19,21,24,27,31 delims=<>'" %%a in ("!foo!") do (
- set url=http://bbs.bathome.net/%%b
- set ratetime=%%d
- echo.%%a !url:amp;=! %%c !ratetime:~0,-5!-!ratetime:~-5! %%e%%f %%g
- )
- set var=
- set n=0
- )
- ))>b.txt
- start b.txt
复制代码
[ 本帖最后由 qzwqzw 于 2011-3-13 19:53 编辑 ] |