批处理如何提取TXT文本里指定行内容?

包含有指定关键词的行全部提取输出到另外一个文本里
如何用批处理提取文本内指定行内容?
例如:
txt文本内容如下:

同学:a
住址:b
北京四环路25号

同学:cc
住址:dd

上海新区
同学 mm
住址 ee

四川朋友
fff=yyyy
pppp=uuuuu

将以上文本里的相邻行同学和住址后面的内容提取出来合并为一行并用=隔开,然后输出到另外一个文本里。
例如:
a=b
cc=dd
mm=ee
fff=yyyy
pppp=uuuuu

只要一个命令就行了,a.txt为要找的文本,如果要找的关键词中含空格要整体找如下命令就行:

findstr /c:"你的关键词" a.txt>b.txt
如要找分别的几个关键词,把/c:去掉
如果要找的有字母需要完全对应大小写如果希望忽略大小写,要在上面基础上再加/i 如:
findstr /i /c:"你的关键词" a.txt>b.txt

补充:你这叫胡扯,什么叫“相邻行同学和住址后面的内容提取出来”,有的有冒号有的没,还有的“fff=yyyy pppp=uuuuu”既没同学也没住址,就像问着好玩,枉我还象傻瓜一样费神帮你答那一通。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-06
:: By LJ_SunTB 【BAT-GO】

@echo off>temp.txt
setlocal enabledelayedexpansion
set file=test.txt
for /f "tokens=*" %%a in ('type "!file!"') do (
echo.%%a|findstr "=">nul
if !errorlevel! equ 0 (echo>>temp.txt %%a) else (
set str=%%a
if "!str:~0,2!"=="同学" (set n=1&set name=!str:~3!)
if "!str:~0,2!"=="住址" (set n=2&set address=!str:~3!)
)
if !n! equ 2 (set n=0&echo>>temp.txt !name!=!address!)
)
start temp.txt本回答被提问者采纳

批处理如何提取TXT文本里指定行内容?
只要一个命令就行了,a.txt为要找的文本,如果要找的关键词中含空格要整体找如下命令就行:findstr \/c:"你的关键词" a.txt>b.txt 如要找分别的几个关键词,把\/c:去掉 如果要找的有字母需要完全对应大小写如果希望忽略大小写,要在上面基础上再加\/i 如:findstr \/i \/c:"你的关键词" a.txt...

如何用批处理文件实现对txt文件中某一特定行的读取
set b=%%j之后需要跳出for循环。

批处理如何直接复制文本指定行内容呢?
rem skip=1中的1为“行数-1”,要复制N行,就更改“skip=”后面的数字为“N-1”rem ABC.txt为要处理的文本,可以自行修改文件名。for \/f "skip=1 delims=" %%a in (ABC.txt) do (set xz=%%a goto 1 ):1 mshta vbscript:clipboarddata.setdata("text","!xz!")(close)cls&echo 已复...

用BAT批处理,提取TXT文档中制定字符
Echo OffSetlocal Enabledelayedexpansion Set TxtFile=1.txt >>$ (For \/f "tokens=2 delims=_" %%a in (%TxtFile%) do Echo %%a)>>New.Txt (For \/f "tokens=1 delims=." %%b in ($) do echo %%b)Del $ & Cls & Exit:: 中国批处理脚本联盟:: 1.txt 为这个提取的 TXT 文件:...

求一个批处理 如何提取TXT文本中的指定内容
echo offpowershell -c "foreach ($i in (Get-Content 'a.txt' -ReadCount 0)){if($i -match '(?>SynItemProp\\.aspx\\?synid=)(.+)(?=\\" target)'){$matches[0]}}"pausea.txt修改为你需要处理的文件

批处理BAT 读取TXT文本内指定的行
if \/i !n!==3 set "var%%a=%%i" ))for \/l %%a in (1,1,1000) do (echo !var%%a!)::1.txt中的第三行变量为:!var1!::2.txt中的第三行变量为:!var2!:: 。。。::1000.txt中的第三行变量为:!var1000!::通配符的使用要看场合。pause ...

批处理如何提取文本中指定内容?
不清楚你的实际文件\/情况,仅以问题中的样例\/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行 <# :cls echo off rem 从多个txt文本文件内提取指定特征字符串内容 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4 title %#% +%$%%$%...

怎么用批处理截取文本中的某一行的某两个字?
不清楚你的实际文件\/情况,仅以问题中的样例\/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行 echo off rem 从一个指定的txt文本文件内包含有指定字符串\/关键字的某一行的开头位置提取\/截取数据 set #=Any question&set @=WX&set $=Q&set\/az=0x53b...

如何使用CMD 批处理 获取1.txt文本文件本里的,第7行.第10行的内容?
for \/f "delims="" skip=6" %%i in (1.txt) do (echo %%i>第7行.txt exit)for \/f "delims="" skip=9 %%j in (1.txt) do (echo %%j>第10行.txt exit)在for语句里加上参数skip就可以了,skip就是文件开始忽略的行数,然后取完第7行后用exit退出循环即可 ...

批处理提取文本指定行
1、for \/f "delims=" %%a in ('findstr "abcd" A.txt') do echo %%a>>B.txt 2、for \/f "tokens=1 delims=^|^|" %%a in (A.txt) do echo %%a>>C.txt

相似回答