09s*_*enb 8 windows cpu batch-file temp windows-7
如何获取批处理文件以计算出Cpu的温度并将其作为变量返回.我知道它可以完成,因为我已经看到它已经完成.该解决方案可以使用任何外部工具.我在谷歌上看了至少2个小时,但一无所获.任何人都可以帮忙.谢谢.
Kev*_*son 13
你可以使用wmic.exe:
wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature
Run Code Online (Sandbox Code Playgroud)
输出wmic如下所示:
CurrentTemperature
2815
Run Code Online (Sandbox Code Playgroud)
单位为MSAcpi_ThermalZoneTemperature十分之一开尔文,所以如果你想要摄氏度,你会做这样的事情:
@echo off
for /f "delims== tokens=2" %%a in (
'wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature /value'
) do (
set /a degrees_celsius=%%a / 10 - 273
)
echo %degrees_celsius%
Run Code Online (Sandbox Code Playgroud)
一些东西:
1)您的硬件可能支持或不支持该属性.
2)每个引导周期可以更新或不更新一次.
3)您可能需要管理权限才能查询该值.
Dav*_*ann 11
下面是一个保留十进制值并使用完整转换值的示例.
码
@echo off
for /f "skip=1 tokens=2 delims==" %%A in ('wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature /value') do set /a "HunDegCel=(%%~A*10)-27315"
echo %HunDegCel:~0,-2%.%HunDegCel:~-2% Degrees Celsius
Run Code Online (Sandbox Code Playgroud)
产量
38.05 Degrees Celsius
Run Code Online (Sandbox Code Playgroud)