用bat脚本实现adb shell获取at命令返回结果

有个需求,需要用bat脚本实现adb shell命令,获取手机内的信息,并根据信息决定是否需要更新boot文件。

bat脚本执行adb命令,需要root权限情况,如果执行adb shell su的话,会进入控制台但是无法输入,用批处理的话也会卡在此处。
可以用输入重定向的方法来解决。
1.将所有需要执行的命令放到一个文本文档中,如cmd.txt
2.用输入重定向的方法: adb shell < cmd.txt
这样就可以完全执行文本文档中的命令了。

例如 cmd.txt:
su
mount -o remount rw /system
touch /system/app/ttt

run.bat :
adb shell < cmd.sh
pause
执行以后会在/system/app/中生成一个ttt的文件,说明命令执行正常。

如果我们还需要通过adb命令获取at命令的返回结果,at命令需要打开两个cmd窗口,1个用于cat数据,另一个用于echo数据
起两个bat分别用于cat 和echo数据
start /D “C:\Users\Admin\Desktop\at” cat.bat
start /D “C:\Users\Admin\Desktop\at” echo.bat

cat.bat脚本输入如下:
adb shell < cmd.txt
TIMEOUT /T 5
exit

cmd.txt内为需要执行的adb shell 命令

同理echo.bat类似,为获取到脚本的信息,并根据信息做对应的处理

你可能感兴趣的:(用bat脚本实现adb shell获取at命令返回结果)