我正在尝试列出已连接的 adb 设备并提示用户选择要部署 APK 的线路。
到目前为止我已经尝试过:
for %%i in (adb devices) do (
ECHO %%i
)
但这根本行不通。有没有办法将每个 adb 设备的 id 捕获到变量中?如果可能的话,我的目标是捕获每个 id,例如:
%line1=f2ea3410
来自 adb 列表亚行设备:
f2ea3410 device
f2fa3410 device
所以我可以提示用户line(而不是输入起来很痛苦的 id):
@ECHO OFF
set /p id="Enter Line:"
我用你提供的例子对此进行了测试。只需修改:DoIt
使用可用的 ID 做任何您想做的事情。
@setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@rem @set prompt=$G
@set _command=adb.cmd
@set _count=0
@for /f "tokens=1,*" %%G in ('%_command% devices') do @call :AddAndDisplayDevice %%G "%%H"
@set /p _choice=Enter number from above menu:
@if not defined _%_choice% @goto :BadSelection "%_choice%"
@call :DoIt %_choice%
@exit /b 0
:AddAndDisplayDevice
@set /a _count+=1
@echo %_count%. %*
@call :SetVar %_count% %1
@call :SetVar %_count%_description %2
@exit /b 0
:BadSelection
@rem Up to you whether to loop back and try again.
@echo Bad choice: %_choice%
@exit /b -1
:DoIt
@set _Id=!_%1!
@rem set _
@echo User selected %1, device Id %_Id%.
@exit /b 0
:SetVar
@set _%1=%2
@exit /b 0
Adb.cmd,用于测试:
@echo f2ea3410 device
@echo f2fa3410 device
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)