我试图编写批处理文件代码来检查文本文件中是否存在给定行。如果它存在,我想在该行之后得到特定的行(取决于行号)变量。 任何人都可以帮助我吗?
例如
我有文本文件为...
EX1
EX2
EX3
EX4
Ex5
现在我想搜索天气Ex3是否存在于批处理文件中。 如果它存在,我想要Ex5(之后的第二行)变量。
提前致谢
答案 0 :(得分:1)
这适用于我的方框:
@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行输入您的值。