我试图从Windows批处理文件中获取一行但没有成功。我已经尝试了几种方法来做到这一点,我不是专家,这对我来说是不可能的。要读取的数字行以计算方式计算:
set "file=C:\myfile.txt"
REM Looking for line number where the segment "<segment>" is.
for /f "tokens=1 delims=:" %%L in ('findstr /n "<segment>" %file%') do (
set begin_line=%%L
)
echo %begin_line%
所以我试图读取%begin_line%+ 1行并将其存储到var中。 我确定实现这一目标的方法是使用 for / f skip =%begin_line ,但我无法做到。
有什么想法吗?
我希望我所要求的是可能的。
伊万
答案 0 :(得分:0)
我不确定我是否理解你的问题。您正在搜索包含子字符串段的第一行。然后,您希望将 next 行存储在变量中。那是对的吗?如果是,请输入以下代码:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET inputFile=C:\myfile.txt
SET fount=0
FOR /F "tokens=*" %%F IN (%inputFile%) DO (
IF !found!==1 (
SET foundLine=%%F
GOTO BREAK
)
SET line=%%F
SET line=!line:^<segment^>=!
IF NOT !line!==%%F SET found=1
)
:BREAK
ECHO !foundLine!
PAUSE