首页 > 解决方案 > 通过批处理文件删除 wmic 结果中不需要的空格

问题描述

我正在处理一个批处理文件,我需要在其中显示电池的估计剩余电量,我已经实现了我的目标,但遗憾的是,由于命令结果中有过多和不需要的空格,我对结果不满意。

这是我的代码:

:charge
FOR /F "delims= skip=1" %%i IN ('WMIC PATH Win32_Battery Get EstimatedChargeRemaining') DO ( SET CHR=%%i
GOTO results )

:results
ECHO "Battery Percentage: %CHR%"
PAUSE
GOTO menu

上述命令的结果是:"Battery Percentage: 100 "

如何在结果结束时摆脱这些空格?

提前致谢,非常感谢任何形式的帮助。

标签: batch-filecmdwmic

解决方案


试试这样:

:charge
@echo off
FOR /F "tokens=* delims=" %%i IN ('WMIC PATH Win32_Battery Get EstimatedChargeRemaining /format:value') DO (
    for /f "tokens=* delims=" %%# in ("%%i") do set "%%#"
)
echo %EstimatedChargeRemaining%

WMIC 添加了额外的字符,但可以通过一个 for 循环删除它 -> https://www.dostips.com/forum/viewtopic.php?t=4266


推荐阅读