0

如何用findstr检索多行中“”之间的所有文本?例如我有:
Line1
Line2
Line3
"Line 4
Line 5
Line 6
"
Line 7
Line 8

我需要返回
第 4
行 第 5
行 第 6 行

4

1 回答 1

0

使用您的样本数据......这是我可以得到的最好的结果,而无需过多的努力。

'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!
  )
)
于 2013-04-08T16:22:07.493 回答