You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用Windows批处理将WMIC电池电量输出格式化为指定单行文本

解决WMIC电池电量输出格式化问题

我来帮你搞定这个Batch脚本的输出格式化问题!WMIC的默认输出确实有点棘手,自带多余空格和换行,咱们用几个Batch命令组合就能轻松调整格式。

这里有两种实用的实现方式,你可以按需选择:

方法一:批量脚本完整写法

把这段代码存成.bat文件运行即可:

@echo off
for /f "skip=1 tokens=2" %%a in ('WMIC PATH Win32_Battery Get EstimatedChargeRemaining') do (
    echo Battery Level is at %%a %%
    goto :exit
)
:exit

代码细节解释:

  • @echo off:关闭命令本身的输出,让最终结果更干净
  • for /f:专门用来解析命令输出的工具
    • skip=1:跳过第一行的表头(也就是EstimatedChargeRemaining那行)
    • tokens=2:提取输出里的第二部分数值(WMIC表头和数值之间有大量空格,tokens=2刚好能精准抓到电量数字)
  • goto :exit:因为WMIC可能会输出空行,拿到第一个有效数值就退出循环,避免重复输出
  • %%a:循环变量,用来存储提取到的电量数值

方法二:CMD窗口单行命令

如果不想写脚本,直接在CMD窗口里运行这行命令也能得到相同效果:

for /f "skip=1 tokens=2" %a in ('WMIC PATH Win32_Battery Get EstimatedChargeRemaining') do @echo Battery Level is at %a %%

注意:CMD窗口里变量用%a,如果写在Batch脚本里要改成%%a

最终效果

运行后你会得到整洁的输出:

Battery Level is at 83 %

这样就完美解决了原输出格式混乱的问题,不用管状态栏图标,直接拿到清晰的电量显示啦!

内容的提问来源于stack exchange,提问作者Suda

火山引擎 最新活动