批量提取字符串之間的內容行

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章