检查批处理文件中的电池状态?

时间:2011-08-22 14:32:25

标签: batch-file power-management

我正试图找到一种方法来检查批处理文件中的电池状态,即如果笔记本电脑使用电池运行则停止执行脚本。我正在尝试使用poercfg命令而没有结果。

所有我需要的是类似的东西,但是在批处理文件中:

#!/bin/bash
if [ acpi -a | grep "off-line" eq 0 ]; 
   then echo "plug your laptop and run it again"
   exit 1
fi

我可以使用什么?

4 个答案:

答案 0 :(得分:2)

如果您使用的是Linux,则可以从/proc获取此信息:

#!/bin/bash
if grep -q discharging /proc/acpi/battery/BAT0/state; then
   echo "plug your laptop and run it again"
   exit 1
fi

答案 1 :(得分:0)

Rob Vanderwoude's script之类的东西可能有效。正如预期的那样,它的工作量更大。看起来它正在使用一些WMI信息。

答案 2 :(得分:0)

你可以用$?获取grep的最后返回状态。 我认为这对你有用。

#!/bin/bash
acpi -a | grep "off-line"
if [ $? -eq 0 ]; 
   then echo "plug your laptop and run it again"
   exit 1
fi

答案 3 :(得分:0)

这就是:

@echo off
wmic Path Win32_Battery Get BatteryStatus | find "2" > nul
if %errorlevel% neq 0 (
  echo Not running on AC, exiting
  exit /B
)
echo running on AC, continuing execution

我从Caley引用的Rob脚本中窃取了wmic查询