Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件编程,通过检查其他关键字将指定行放入变量_Batch File - Fatal编程技术网

Batch file 批处理文件编程,通过检查其他关键字将指定行放入变量

Batch file 批处理文件编程,通过检查其他关键字将指定行放入变量,batch-file,Batch File,我正在尝试编写批处理文件代码,以检查文本文件中是否存在给定的行。如果存在,我希望在该行之后将特定行(取决于行号)放入变量中。。 有人能帮我吗 比如说 我的文本文件为… EX1 EX2 Ex3 EX4 例5 现在我想搜索Ex3是否存在于批处理文件中。 如果存在,我希望Ex5(之后的第二行)变成变量 提前感谢这对我的盒子有效: @echo off SET searchterm=Ex3 SET /a lineafter=2 SET filename=lst.txt :: --------------

我正在尝试编写批处理文件代码,以检查文本文件中是否存在给定的行。如果存在,我希望在该行之后将特定行(取决于行号)放入变量中。。 有人能帮我吗

比如说 我的文本文件为…
EX1
EX2
Ex3
EX4
例5

现在我想搜索Ex3是否存在于批处理文件中。 如果存在,我希望Ex5(之后的第二行)变成变量

提前感谢

这对我的盒子有效:

@echo off
SET searchterm=Ex3
SET /a lineafter=2
SET filename=lst.txt
:: --------------
SETLOCAL ENABLEDELAYEDEXPANSION
SET /a c=0
FOR /F "delims=" %%i IN (%filename%) DO (
  if !c! GTR 0 (
    IF %lineafter% EQU !c! (
      SET result=%%i
      GOTO :linefound
    )
    SET /a c=!c! + 1
  ) ELSE (
    IF "%%i"=="%searchterm%" (
      SET /a c=1
    )
  )
)
echo No result
GOTO :EOF
:linefound
echo Result: %result%
只需在第2-4行中输入您的值