CPUの温度を計算し、それを変数として返すバッチファイルを取得するにはどうすればよいですか。私はそれが行われたのを見たようにそれができることを知っています。このソリューションでは、任意の外部ツールを使用できます。 Googleを少なくとも2時間調べましたが、何も見つかりませんでした。誰でも助けることができます。ありがとう。
これは、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
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)値を照会するには、管理者権限が必要になる場合があります。
あなたがそれをコンピュータでサポートしているなら、あなたはこのように試すことができます:
wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature
これにより、温度がケルビン度で出力されます。