如何获取批处理文件以计算出Cpu的温度并将其作为变量返回。我知道它可以完成,因为我已经看到它已经完成。该解决方案可以使用任何外部工具。我在谷歌上看了至少2个小时,但一无所获。任何人都可以帮忙。感谢。
答案 0 :(得分:13)
您可以使用wmic.exe:
wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature
wmic
的输出如下所示:
CurrentTemperature
2815
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%
一些事情:
1)您的硬件可能支持或不支持该属性。
2)每个启动周期,该值可能会更新一次,也可能不会更新。
3)您可能需要管理员权限才能查询该值。
答案 1 :(得分:10)
这是一个保存小数值并使用完整转换值的示例。
<强>代码强>
@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
<强>输出强>
38.05 Degrees Celsius
答案 2 :(得分:2)
如果您的计算机支持它,您可以尝试这样:
wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature
这将以开尔文度输出温度。