(EDITED)如何從文本文件中讀取數據並將其中的某些部分分配給變量?例如,在下面的幾行中,我想將數據分配給指定的變量,但忽略標題行,序言詞「DATA:」和任何引號。使用FINDSTR在FOR循環中設置變量
HEADER (ignore)
DATA: "set text inside quotes to VAR1"
DATA: "set text inside quotes to VAR2"
DATA (etc.)
我正在使用的代碼是:
setlocal enabledelayedexpansion
set COUNT=0
for /f "usebackq delims=" %%a in ("data.txt") do (
set "INPUT=%%a"
set /a COUNT=!COUNT!+1
echo !INPUT! | findstr /i /c:"HEADER" > nul
if errorlevel 1 (
set "INPUT=!INPUT:DATA:=!"
set "INPUT=!INPUT:"=!"
set VAR!COUNT!=!INPUT!
echo Variable !COUNT! = !VAR!!COUNT!
)
)
我的預期輸出是
Variable 1 = set text inside quotes to VAR1
Variable 2 = set text inside quotes to VAR2
但我得到的是
Variable 2 = 2
Variable 3 = 3
Variable 4 = 4
我在做什麼錯?
請向我們展示您現有的代碼。 – Squashman
Findstr不會迭代,它會對符合給定條件的輸入行進行過濾,對於/ f可能會迭代過濾後的行。 [SO]這裏每天都有很多例子。 – LotPings