1、提取特定字符串之间行内容
@echo off & setlocal enabledelayedexpansion
set str1=“enbip”
set str2=“p”
set str3=“value”
echo %str1%,%str2%,%str3%>a.csv
for /f “delims=” %%i in (‘dir /b *.log’) do (
for /f “usebackq delims=” %%b in ("%%~i") do (
set “s=%%b”
if not “!s:OptionalFeatureLicenseId=!” == “!s!” set “flag=1”
if not “!s:userLabel=!” == “!s!” (set flag=) else if defined flag for /f “tokens=1,2 delims= " %%o in (”%%!s!") do echo %%i,%%o,%%p>>a.csv
) )
pause
2、提取特定字符串之间行内容,并行转列
@echo off
setlocal EnableDelayedExpansion
if exist A.csv del A.csv
if exist A1.csv del A1.csv
set str1=“OptionalFeatureLicenseId”
set str2=“featureState”
set str3=“keyId”
set str4=“licenseState”
set str5=“serviceState”
set str6=“ENBIP”
ECHO %str1%,%str2%,%str3%,%str4%,%str5%,%str6%>>A.CSV
for /f “delims=” %%i in (‘dir /b *.log’) do (
for /f “usebackq delims=” %%b in ("%%~i") do (
set “s=%%b”
if not “!s:OptionalFeatureLicenseId=!” == “!s!” set “flag=1”
if not “!s:userLabel=!” == “!s!” (set flag=) else if defined flag for /f “tokens=1-2 delims= " %%o in (”%%!s!") do (set /p “n=%%p,” > A.CSV ) :::多行并为一行
)
set /p “n=%%i”>A.CSV
echo.>>a.csv
)
findstr /b /v [0-9] A.CSV >>A1.CSV ::::将更新A1.CSV表
PAUSE