有个需求,需要用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类似,为获取到脚本的信息,并根据信息做对应的处理