Batch file 在批处理脚本的文本文件中查找字符串

Batch file 在批处理脚本的文本文件中查找字符串,batch-file,Batch File,我必须读取一个文本文件rtcponactive.txt。该文件包含以下行 operationalState 1 (ENABLED) rtcpBearerSupervisionTimerAoIp 0 rtcpBearerSupervisionTimerNb 15 rtcpBearerSupervisionTimerVoip 15 rtcpOnNbActive true 我必须找

我必须读取一个文本文件rtcponactive.txt。该文件包含以下行

operationalState                     1 (ENABLED)
rtcpBearerSupervisionTimerAoIp       0
rtcpBearerSupervisionTimerNb         15
rtcpBearerSupervisionTimerVoip       15
rtcpOnNbActive          

         true
我必须找到与rtcpOnNbActive true匹配的行,并将其存储到变量中。
请说明如何编写批处理脚本。

使用
find
findstr
获取想要的行(我假设,“true”与“rtcpOnNbActive”位于同一行):

要将响应放入变量中,请使用
for

for /f "delims=" %%i in  ('find "rtcpOnNbActive" rtcponactive.txt') do set variable=%%i
“delims=“
告诉它,您需要完整的行

如果只想获得“真”或“假”,请使用:

for /f "tokens=2" %%i in  ('find "rtcpOnNbActive" rtcponactive.txt') do set variable=%%i
“tokens=2”
表示“获取行的第二个值”。空格和制表符是标准的分隔符,所以这里不需要
delims=…“


注意:如果有多行包含“rtcpOnNbActive”,它将返回最后一个。

find/?
findstr/?
开始。我假设,
true
应该与
rtcpOnNbActive
在一行中?如果你的代码有问题,用你的代码编辑你的问题。我回答这个问题是因为你似乎不知道从哪里开始。
for /f "tokens=2" %%i in  ('find "rtcpOnNbActive" rtcponactive.txt') do set variable=%%i