web-dev-qa-db-ja.com

バッチファイルはCPU温度を°Cで取得し、変数として設定します

CPUの温度を計算し、それを変数として返すバッチファイルを取得するにはどうすればよいですか。私はそれが行われたのを見たようにそれができることを知っています。このソリューションでは、任意の外部ツールを使用できます。 Googleを少なくとも2時間調べましたが、何も見つかりませんでした。誰でも助けることができます。ありがとう。

8
09stephenb

これは、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
11
David Ruhmann

wmic.exe を使用できます:

wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature

wmicからの出力は次のようになります。

CurrentTemperature
2815

MSAcpi_ThermalZoneTemperatureの単位は10分の1ケルビンなので、摂氏が必要な場合は、次のようにします。

@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)値を照会するには、管理者権限が必要になる場合があります。

13

あなたがそれをコンピュータでサポートしているなら、あなたはこのように試すことができます:

 wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature

これにより、温度がケルビン度で出力されます。

2
SachaDee