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

DOS批处理for循环多命令执行异常:第二个adb命令失效求助

解决DOS批处理for循环中第二个adb命令不执行的问题

嘿,我来帮你搞定这个头疼的问题!你遇到的第二个adb命令只显示不执行的情况,大概率是重复使用wait-for-device导致的阻塞,咱们一步步来解决:

问题根源分析

你的第一个adb wait-for-device已经完成了设备连接等待,当设备处于正常连接状态时,第二个adb wait-for-device会一直等待一个“设备重新连接”的触发事件(比如断开再插上),但你的设备一直连着,所以这个命令会卡住,看起来就像没执行一样。

修复后的代码

直接去掉第二个命令里的wait-for-device即可,修改后的脚本如下:

:loop
FOR /L %%i IN (1,1,500) do (
    REM 第一个滑动命令:等待设备就绪后执行
    adb wait-for-device shell input touchscreen swipe 1400 800 200 800 1000
    REM 第二个滑动命令:设备已连接,直接执行
    adb shell input touchscreen swipe 800 1400 200 800 1000
)
goto loop

额外调试技巧(如果还是有问题)

如果修改后依然异常,可以加一些调试输出,确认每个命令是否被触发:

:loop
FOR /L %%i IN (1,1,500) do (
    echo [第%%i次循环] 执行第一个滑动命令...
    adb wait-for-device shell input touchscreen swipe 1400 800 200 800 1000
    echo [第%%i次循环] 执行第二个滑动命令...
    adb shell input touchscreen swipe 800 1400 200 800 1000
    echo [第%%i次循环] 两次滑动完成!
)
goto loop

这样你能在控制台清晰看到每个步骤的执行状态,方便排查问题。

其他可能的排查点

  • 确保adb已经加入系统环境变量PATH,如果没有,直接使用adb的完整路径(比如C:\Android\platform-tools\adb.exe)
  • 检查滑动命令的参数是否正确:input touchscreen swipe的格式是起始X 起始Y 结束X 结束Y 时长(毫秒),你的参数看起来是没问题的

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:22:31