如何用findstr检索多行中“”之间的所有文本?例如我有:
Line1
Line2
Line3
"Line 4
Line 5
Line 6
"
Line 7
Line 8
我需要返回
第 4
行 第 5
行 第 6 行
使用您的样本数据......这是我可以得到的最好的结果,而无需过多的努力。
'file'txt' 包含您的数据...
@echo off
setlocal enabledelayedexpansion
set quote=
for /f "tokens=*" %%a in (file.txt) do (
set str=%%a
set str=!str:"=:!
if not "!str!"=="!str::=!" (
if defined quote (
set quote=
for %%b in (^"%%a) do set str=%%~b
if not "!str!"=="" if not "!str: =!"=="" echo !str!
) else (
set quote=1
for %%b in (%%a^") do set str=%%~b
)
)
if defined quote (
if not "!str!"=="" if not "!str: =!"=="" echo !str!
)
)