Redmi手机查询电池损耗的批处理

理论上小米和红米都可以使用,但我手里只有Redmi K40 PRO+,其他小米手机没法测试,大家自行测试吧。
如果遇到有什么bug的,请截图回复,我会进一步修复。
需要说明的是,电池设计容量仅针对Redmi K40系列机型,其他机型无法获取。所以损耗比也仅针对K40系列机型。不过电池实际容量在Redmi和小米机型中应该都是正常的。

@echo off
echo,当前已连接的设备如下,请确保只连接了一部手机,如有多部手机,请先断开。
adb devices
pause
setlocal enabledelayedexpansion
for /f "tokens=3 delims=: " %%i in ('adb shell dumpsys battery ^| findstr Charge') do (
set equ=%%i
set str=%%i
set n=0
call :loop
if !n! equ 7 (set /a equ=!equ!*100)
)

for /f "tokens=2 delims=: " %%i in ('adb shell dumpsys battery ^| findstr level') do (
set per=%%i
)

for /f "tokens=2 delims=: " %%i in ('adb shell dumpsys battery ^| findstr temperature') do (
set tem=%%i
)
set stt=4520
set /p "stt=请输入电池设计容量,Redmi K40系列机型无需输入,直接回车:"
echo,电 量 计 数:!equ!
echo,当前电量百分比:!per!%%
set /a var=!equ!/!per!/1000
set /a loss=!var!*100/!stt!
set /a tep=!tem!/10
echo,电池温度:!tep!℃
echo,电池实际容量:!var! mAh
echo,电池设计容量:!stt! mAh
echo,电池损耗情况:!loss!%% ^<--------------------------
pause
goto :eof

:loop
set str=!str:~,-1!
set /a n=!n!+1
if "!str!" equ "" goto :eof
if "!str!" neq "" goto loop
endlocal
pause

zip.svgRedmi K40电池损耗计算.zip



使用说明:
1、将附件中的txt文件下载后修改后缀名为bat
2、手机用数据线连接电脑
3、确保电脑已安装adb工具
4、在cmd中输入adb devices,看看你的手机有没有显示出来,如果没有说明手机没有连接上adb
5、至于手机如何开启adb,这就不说了,自行百度吧。


第一版更新:
1、修复红米K30s不能正常显示电池实际容量的bug
2、加入电池温度监测

第二版更新:
1、改善结果展示,增加电池设计容量手动输入。

为了方便使用,我一般会将adb设置到环境变量里面,这里也写了一个用户环境变量设置工具。一定要设置环境变量,因为批处理是针对有环境变量的情况下写的。如果不设置环境变量,就将批处理放在adb所在目录里运行吧。

环境变量工具使用说明:
1、下载后更改后缀名为bat
2、双击运行,在窗口输入ADB.exe所在文件路径

下面再提供一下adb下载链接吧,不会的自己百度。

https://dl.google.com/android/repository/platform-tools-latest-windows.zip


 


作者:52pojie@leonca

Katen Doe

Fiime分享

专业分享,共建知识殿堂

猜你喜欢

wave

按 ECS 键退出搜索