ざっくり、バッチファイルで作ってみました。
ログファイル名を仮に test.log として作ってみたのものです。
ログファイル上にコマンドプロンプトで特別な意味を持つ記号類("<"や">"や"|")等が入っている場合はうまくいかないかもしれません。
echo off
set flag=0
for /F "delims=" %%a in (test.log) do call :sub "%%a"
exit /b
:sub
set line=%~1
if %flag% EQU 4 set botbanner=%~1&&set flag=5
if %flag% EQU 3 set end=%~1&&set flag=4
if %flag% EQU 2 set start=%~1&&set flag=3
if %flag% EQU 1 set topbanner=%~1&&set flag=2
if "%line:~0,1%"=="■" set datano=%~1&&set flag=1
if %flag% EQU 5 if "%end:~-10%"=="エラーがおきました。" (
echo %datano%
echo %topbanner%
echo %start%
echo %end%
echo %botbanner%
)
if %flag% EQU 5 set flag=0
goto :EOF
お礼
すみません。 実際のログは各データ番号により行数が違う為、上記バッチだと正常にはなりませんでした。 しかし、上記バッチはとても参考になり後は自分でどうにか出来そうな感じです。 色々自分の使い方の知らないコマンドの使い方も知る事が出来ました。 大変有難うございました。