我有以下......
@ECHO OFF
setlocal EnableDelayedExpansion
for /f "skip=1" %%p in ('wmic cpu get loadpercentage') do @echo %%p
ECHO ...this worked
ECHO.
PAUSE
for /f "skip=1" %%p in ('wmic cpu get loadpercentage') do set cpu=%%p
ECHO cpu is %cpu%
ECHO ...this did not work
ECHO.
PAUSE
为什么我不能在变量%cpu%中设置数字,它总是空白的!
答案 0 :(得分:3)
for /f "skip=1" %%p in ('wmic cpu get loadpercentage') do set cpu=%%p & goto :end_for
:end_for
WMIC
在结尾处产生一个空行。您可以在wmic调用结束时尝试使用/format:csv
,这将阻止它。
答案 1 :(得分:0)
还没有找到解决方案,但问题似乎是那个
wmic cpu get loadpercentage
输出中有两行以上,for循环遍历所有行
如果我实际上回显了for循环中的所有集合,它看起来像这样
set cpu=1
set cpu=
cpu is