标题: [系统相关] 批处理Redmi手机电池容量监测,电池损耗计算 [打印本页]
作者: lancer 时间: 2023-1-9 11:42 标题: 批处理Redmi手机电池容量监测,电池损耗计算
想发到原创区的,发现自己的权限不够,不能发。
代码已经修改了2版了,限于手头的手机只有Redmi K40 pro,其他机型不能测试,理论上小米和红米都支持,如果有bug欢迎反馈。
代码写的比较捡漏,论坛里的大神,如果不吝指点,欢迎修改代码,增加使用体验。- @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
复制代码
作者: Batcher 时间: 2023-1-10 20:44
回复 1# lancer
可以考虑减少 adb shell dumpsys battery 执行次数
例如:
adb shell dumpsys battery > "%temp%\adb.txt"
后面的几个for循环去读这个txt文件
作者: lancer 时间: 2023-1-11 08:52
回复 2# Batcher
确实可以减少这条语句的执行次数,只是我个人不太喜欢临时文件,所以就多次执行了这条语句。如果是大型批处理的话,肯定是费时的,索性这是一个小批处理,就没有这样写。
作者: Batcher 时间: 2023-1-11 09:15
回复 1# lancer
可以考虑使用缩进,不要所有代码定格写。
作者: lancer 时间: 2023-1-11 09:54
回复 4# Batcher
好的
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |