无忧启动论坛

标题: 能否用脚本实时的获取主机充电状态 [打印本页]

作者: Myptour    时间: 2024-11-6 23:06
标题: 能否用脚本实时的获取主机充电状态
本帖最后由 Myptour 于 2024-11-8 20:43 编辑

已知:powercfg /batteryreport  可以查看系统电池信息,
问题:需要在改变充电状态大约10秒甚至20秒过后才能刷新出最新状态
目的:有其他方法可以实时刷新充电状态的命令吗,最好是脚本文件

以下自己琢磨的,谢谢各位指点
@echo OFF
del battery-report.html>nul 2>nul
del battery.ini>nul 2>nul
del n.ini>nul 2>nul

powercfg /batteryreport
setlocal EnableDelayedExpansion
cd /d %~dp0
set n=0
For /f "tokens=1* delims=:" %%i in ('Type battery-report.html^|Findstr /n /c:"Report generated"') do (
Set /a n=%%i+1
ECHO !n!>>n.ini
)
endlocal

set /p number=<n.ini
set /a numa=%number%-1
set /a numb=%number%+2
call :checknum %numa% %numb%
findstr "Battery" battery.ini &&echo fail>result.log||echo pass>result.log
exit

:checknum
setlocal enabledelayedexpansion
for /l %%m in (%1,1,%2) do (
   set lineFlag=0
   for /f "delims=" %%r in ('type battery-report.html') do (
   set /a lineFlag+=1
    if !lineFlag!==%%m (
     set lineContent=%%r
     set lineContent=!lineContent: =!
     echo.!lineContent!>>battery.ini
     )
  )
)
endlocal
goto :eof================================================================
想复杂了,有现成代码,如下:
@echo off
wmic path Win32_Battery Get BatteryStatus | find /v "BatteryStatus" | find "2" >nul 2>&1
if "%errorlevel%" == "0" (echo 电源供电,交流供电) else (echo 电池供电,直流供电)
echo.
pause





作者: GXNNYWF    时间: 2024-11-7 08:23
谢谢
作者: cqh    时间: 2024-11-7 10:41
学习
作者: szwp    时间: 2024-11-7 11:01
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=427978
如果觉得这个够实时的话,可以搞成powershell或pecmd脚本。
作者: 孟仁飞    时间: 2024-11-7 11:01
学习
作者: cao8mm    时间: 2024-11-7 11:17
学习
作者: 音乐与电脑    时间: 2024-11-7 11:35
路过看看
作者: mr8246    时间: 2024-11-7 12:13
有个batterybar的小工具,可以像手机一样显示电池电量,win10可以使用,win11微软不让用
作者: guong    时间: 2024-11-7 13:04
学习一下
作者: hzlpose    时间: 2024-11-7 14:47
学习一下
作者: k39064646    时间: 2024-11-7 17:58
学习




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3