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!
)
)