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

时间:2014-12-17 08:41:07

标签: batch-file

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

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

         true

我必须找到一个与rtcpOnNbActive匹配的行,并希望将其存储到变量中。 请问如何编写批处理脚本。

1 个答案:

答案 0 :(得分:0)

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

find "rtcpOnNbActive" rtcponactive.txt

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

for /f "delims=" %%i in  ('find "rtcpOnNbActive" rtcponactive.txt') do set variable=%%i

"delims="告诉它,你想要完整的一行。

如果您只想获得“true”或“false”,请使用:

for /f "tokens=2" %%i in  ('find "rtcpOnNbActive" rtcponactive.txt') do set variable=%%i

"tokens=2"表示“获取该行的第二个值”。 Space和Tab是标准分隔符,因此您在此处不需要delims=..."

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