指定された行がテキスト ファイルに存在するかどうかを確認するバッチ ファイル コードを記述しようとしています。それが存在する場合、その行の後に(行番号に応じて)特定の行を変数に取得したい..誰か助けてくれますか?
たとえば、テキストファイルは...
EX1
EX2
Ex3
EX4
Ex5
今、天気Ex3がバッチファイルに存在するかどうかを検索したいと思います。存在する場合は、Ex5(その後の2行目)を変数に入れたいです。
前もって感謝します
指定された行がテキスト ファイルに存在するかどうかを確認するバッチ ファイル コードを記述しようとしています。それが存在する場合、その行の後に(行番号に応じて)特定の行を変数に取得したい..誰か助けてくれますか?
たとえば、テキストファイルは...
EX1
EX2
Ex3
EX4
Ex5
今、天気Ex3がバッチファイルに存在するかどうかを検索したいと思います。存在する場合は、Ex5(その後の2行目)を変数に入れたいです。
前もって感謝します
これは私のボックスで動作します:
@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 行目に値を入力するだけです。