2012-08-31 1 views
0

Im пытается написать командный файл файла, чтобы проверить, присутствует ли данная строка в текстовом файле или нет. Если он присутствует, я хочу получить конкретную строку (в зависимости от номера строки) после этой строки в переменную. Может ли кто-нибудь мне помочь?Программирование пакетного файла для получения указанной строки в переменной путем проверки другого ключевого слова

Например У меня есть текстовый файл как ...
EX1
ЕХ2
Ex3
EX4
ex5

теперь я хочу, чтобы искать погода Ex3 присутствует в пакетном файле или нет. Если он присутствует, я хочу, чтобы Ex5 (вторая строка после этого) в переменную.

Заранее спасибо

ответ

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.

+0

Большое спасибо – user1637646

Смежные вопросы