[英]Set into a variable a specific line from a file in Windows batch
我正在嘗試從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中。 我確定實現此目標的方法是使用/ f skip =%begin_line,但我做不到。
任何想法?
我希望我所要求的是可能的。
伊萬
我不確定我是否理解你的問題。 您正在搜索包含子字符串段的第一行。 然后,您要將下一行存儲在變量中。 那是對的嗎? 如果是,則代碼如下:
@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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.