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