我想将其用作下面代码的变量,而不是 ClassName=in 1.txt 之后的变量,我想要介于两者之间的变量:
EntryText=船沉了!|网格 AO 77| 抓取变量 HERE , (注意最后的逗号)
所以在以第二个 | 结尾的文本行之后抓取 和逗号之前。
变量之前的文本行将是相同且恒定的,除了“网格”之后可能有一个单词或不同的两对字母和数字,或者字母和数字的任何混合,直到 |
因此,我尝试将其用作变量,介于两者之间:
EntryText=沉船!|网格(字母或数字的任意组合) | (变量),(逗号)
所以抓住第二个| 和逗号。比你。
@echo off
copy 2.txt 2.txt-backup
setlocal enableDelayedExpansion
>2.txt (
for /f "tokens=1* delims=:" %%A in ('findstr /n "^" 2.txt-backup') do (
( echo !ln!| findstr "^Type=206$" >NUL && set ln=ln ) || (
set "ln=%%B"
if "!ln:~0,6!"=="Class=" (
findstr /c:"ClassName=!ln:~6!" "E:\Dropbox\New folder\Log_*.txt" >"E:\Dropbox\New folder\null" && (
echo Class=ShipDummy
set "ln=Type=206"
)
)
if #!ln!==# (echo;) else echo !ln!
)
)
)