在bat中循环执行adb shell lspci指令 ,打印执行的次数,然后根据执行结果如果有一些打印例如 1101 ,决定继续执行否则退出循环
时间: 2024-10-12 19:06:26 浏览: 45
在批处理 (BAT) 文件中,你可以通过嵌套循环和条件判断来实现这个需求。首先,你需要安装并配置ADB工具,然后使用`for /L`命令来循环执行指定的`adb shell`命令。这里是一个基本的示例:
```batch
@echo off
setlocal enabledelayedexpansion
:: 设置循环次数
set count=0
:: 循环次数设置为5次作为示例,可根据需要调整
for /L %%i in (1,1,5) do (
:: 执行adb shell lspci命令
set /a count+=1
echo 正在执行第!count!次... (adb shell lspci)
:: 检查输出是否包含"1101"
for /F "tokens=* delims=" %%j in ('adb shell lspci | find "1101"') do (
if not defined found (
set "found=true"
echo 找到了匹配项!(1101)
)
)
:: 如果找到了"1101",则继续下一次循环
if defined found (
echo 继续执行...
) else (
echo 没有找到1101,退出循环。
break
)
)
:: 结束后显示最终信息
echo 已经执行完毕!总共执行了!count!次。
:: 关闭延迟变量扩展
endlocal
```
在这个脚本中,我们使用`for /L`来迭代次数,并检查每次输出中是否包含"1101"。如果找到了,我们就继续下一轮循环;如果没有,就退出循环。请注意,实际操作时可能需要根据实际情况调整`find`命令和匹配逻辑。
阅读全文