我有一系列日誌文件。如何從第x行讀取文件到第y行(dos/win批處理文件)
我使用findstr解析這些日誌文件以確定文本字符串的第一個實例,然後返回文件名和匹配找到的行木材作爲變量。
然後,我使用findstr來解析文件匹配找到另一個文本字符串。我將匹配的行號作爲變量返回。
我現在有文件,開始和結束行號。
我需要在我的行號之間返回文本塊。
所有輸出重定向到變量casenotes
這裏所代表的文本文件是我的代碼:
:test
echo: >> %casenotes%
echo: test >> %casenotes%
for /f "tokens=1,2* delims=:" %%a in ('findstr /N /C:"Optimize ThreadPools" *_MAGT_*.txt') do set startline=%%b & set filefoundin=%%a & goto part2
:part2
for /f "tokens=1,2* delims=:" %%a in ('findstr /N /C:"After optimization" %filefoundin%') do set endline=%%a & goto part3
:part3
echo: >> %casenotes%
echo: filefound in: %filefoundin% >> %casenotes%
echo: startline is: %startline% >> %casenotes%
echo: endline is: %endline% >> %casenotes%
echo: >> %casenotes%
echo: now do something magic to read everything between lines %startline% and %endline% from %filefoundin% and redirect that output to %casenotes%
任何意見讚賞!
啓用delayedexpansion是一個不好的做法,操作時TEXTFILES(缺字狀或;!) – ElektroStudios
我很抱歉,我應該提到的是有沒有空行中我解析數據文件。接下來會嘗試這個! – user1851547
這工作!種類....它返回我想要的行,但輸出到控制檯而不是我的casenotes文件。 – user1851547