批处理文件以°C为单位获取CPU温度并设置为变量

时间:2014-06-02 22:28:20

标签: windows batch-file windows-7 cpu temp

如何获取批处理文件以计算出Cpu的温度并将其作为变量返回。我知道它可以完成,因为我已经看到它已经完成。该解决方案可以使用任何外部工具。我在谷歌上看了至少2个小时,但一无所获。任何人都可以帮忙。感谢。

3 个答案:

答案 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

这将以开尔文度输出温度。