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

修改批处理脚本:匹配指定文本后输出其上第3行内容

解决Windows批处理获取pnputil结果中目标行上第3行的问题

原脚本仅能捕获目标文本的上一行,要获取上第3行内容,需要保存最近的三行数据,匹配到目标时输出最早的那一行。修改后的脚本如下:

@echo off&color e
setlocal EnableDelayedExpansion

echo == 2016 Driver(s) Currently Installed ==
Echo.&Echo.

for /F "tokens=2 delims=:" %%a in ('pnputil -e') do for /F "tokens=*" %%b in ("%%a") do (
   if "%%b" equ "12/13/2016 1.0.0.2" (
      echo !line3prior!
   )
   :: 更新前三行的存储变量,依次向后传递
   set "line3prior=!line2prior!"
   set "line2prior=!line1prior!"
   set "line1prior=%%b"
)

Echo.&Echo.
echo == Press button to exit ==&pause>nul
exit

关键修改说明:

  • 新增line3prior、line2prior两个变量,和原有的line1prior共同保存最近的三行内容
  • 每次循环先判断当前行是否为目标文本,若是则输出line3prior(即上第3行)
  • 再按顺序更新三个变量:将line2prior的值传递给line3prior,line1prior传递给line2prior,当前行赋值给line1prior,确保变量始终存储最近的三行数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:58:10