You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Batch脚本逐行搜索关键词提取iPerf的SUM receiver行数据

Batch脚本匹配iPerf SUM接收端速率的稳定实现方案

当然支持,通过for /F逐行处理+findstr关键词匹配的方案,完全不需要依赖固定行号,抗iPerf输出格式变动的能力强很多。

方案1:保留原rawdata.txt临时文件逻辑

@echo off
setlocal enableextensions enabledelayedexpansion

iperf3 -c iperf.scottlinux.com -i 1 -t 15 -P 10 -p 5201 -R>>rawdata.txt 2>&1

:: 匹配同时包含[SUM]和receiver的行,提取速率字段
for /F "tokens=6,7" %%a in ('findstr /r /c:"\[SUM\].*receiver" rawdata.txt') do (
  echo Bitrate [DL]: %%a %%b>>result.txt
)

pause
exit

方案2:省略临时文件,直接管道处理输出

可以不写rawdata.txt,直接把iperf的输出传给findstr过滤,注意for语句内的重定向、管道符号需要加^转义:

@echo off
setlocal enableextensions enabledelayedexpansion

for /F "tokens=6,7" %%a in ('iperf3 -c iperf.scottlinux.com -i 1 -t 15 -P 10 -p 5201 -R 2^>^&1 ^| findstr /r /c:"\[SUM\].*receiver"') do (
  echo Bitrate [DL]: %%a %%b>>result.txt
)

pause
exit

关键逻辑说明

  • findstr /r开启正则匹配模式,\[SUM\].*receiver规则表示匹配行中先出现[SUM]、后续任意位置出现receiver的行,完全符合你的定位需求,只要两个关键词在同一行,不管输出顺序怎么变都能匹配到
  • for /F默认按空白符分割字段,第6、7位就是你需要的速率数值和单位,和你原逻辑的字段提取规则一致,不用调整后续处理逻辑

内容的提问来源于stack exchange,提问作者LaoDa581

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:24:00