批量查找文件中的字符串然后读取下一行的x个数字

时间:2017-01-25 09:08:36

标签: batch-file

这是一个.txt文件,我想查找一个名称(比如说“名字1”),然后读取下一个x行来设置变量。

例子我寻找“名字1”,作为回报,我首先得到“鱼”,然后是“马铃薯”。

Name 1
var1=fish
var2=potato

Name 2
var1=crab
var2=tree

Name 3
var1=bait
var2=water

1 个答案:

答案 0 :(得分:0)

这不是一个免费的“写我的代码和做我的工作”#34;社区。下次当你提出问题时,请展示一些努力。告诉我们您尝试了什么以及它为什么不起作用。现在,这是您的代码:

@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET inputfile=input.txt
SET linestoread=2
SET searchstring="Name 1"
SET found=0
FOR /F "tokens=*" %%L IN (%inputfile%) DO (
    IF !found!==1 (
        IF !linestoread!==0 GOTO BREAK
        SET /a linestoread=!linestoread!-1
        FOR /F "tokens=2 delims==" %%A IN ("%%L") DO (
            ECHO %%A
        )
    )
    IF "%%L"==%searchstring% SET found=1
)
:BREAK

SET inputfile=input.txt是文本文件的路径。 SET linestoread=2是您找到搜索字符串后要读取的行数。 SET searchstring="Name 1"是搜索字符串。