批处理提取文本中的多行信息

[复制链接]
查看11 | 回复2 | 2010-8-12 19:07:33 | 显示全部楼层 |阅读模式
for /f %%B in (list.txt) do (
set N=0
for /f "skip=6 delims=" %%A in (%%B) do (


if !N! EQU 1 (


echo %%B,%%A>>cuttime-tmp.txt

)

set /a N+=1

)
)
上面是取一个文本中第6行的内容。怎么把第7行的内容也一起取出来,然后放入临时文件的下一行?

回复

使用道具 举报

千问 | 2010-8-12 19:07:33 | 显示全部楼层
我怎么看原代码不是取第6行?也不知你是啥用途,照原代码改一下吧(最终效果是把list.txt里列的文件,每个取第6、7行,而且每行前还附上文件名和逗号,因为原代码是这样的写入cuttime-tmp.txt):@echo off&setlocal EnableDelayedExpansion::下一行等号后的数的意思是去掉前5行,取2行(就是第6、7行)set hn=5,2set n2=%hn:*,=%set n1=!hn:,%n2%=!for /f %%B in (list.txt) do (set N=1for /f "skip=%n1% delims=" %%A in ('type "%%B"')do (
回复

使用道具 举报

千问 | 2010-8-12 19:07:33 | 显示全部楼层
@echo offset /p var=请输入要读取的行(用空格分隔):set /p ff=请输入要读取的文本文件名(如a.txt):for %%a in (%var%) do (call :lp %%a)pause&goto :eof:lpfor /f "tokens=1,* delims=:" %%i in ('finds
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行