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 に答える