Speed Fan verfügt über eine Protokollierungsoption. Aktivieren Sie es in der Konfiguration. Sie finden Protokolldateien in dem Verzeichnis, in dem Speed Fan installiert wurde. In meinem Fall war es dasProgram Files\SpeedFan\SFLog(date).csv
Ich habe UnixTools für Windows installiert . Wenn ich das richtig verstehe, Cygwin
hat es die gleichen Fähigkeiten wie UnixTools
und gibt Ihnen die Möglichkeit, Unix-ähnliche Befehle in Windows zu verwenden.
Jetzt haben wir eine Protokolldatei (die alle 3 Sekunden aktualisiert wird) mit allen gewünschten Daten. Wir können es verwenden, um die letzten Werte von SpeedFan mit folgendem Skript zu erhalten:
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
tail -n 1 "C:\Program Files\SpeedFan\SFLog%mydate%.csv" | gawk {print$2}
Zuerst setzen wir die Variable mydate
als aktuelles Datum, das im Stil des Speed Fan-Protokolls formatiert ist. Wir werden es brauchen, um die neueste Logdatei zu finden.
Danach verwenden wir den Befehl tail with option -n 1
, um die letzte Zeile der Datei (die neuesten Daten) abzurufen.
Und wir liefern diese Zeile an den Befehl gawk mit der Option {print$2}
, die zweite "Spalte" der Zeile abzurufen, da die erste "Spalte" der Zeitstempel ist.
Das Skript gibt also den neuesten Wert der zweiten Spalte der Protokolldatei aus. Wenn Sie mehr als nur einen Wert benötigen, erstellen Sie ein anderes Skript, das die dritte Spalte anfordert, indem Sie die Option {print$3}
auf geben gawk
.
Angenommen, die SpeedFan-Protokolldatei hat folgendes Format:
Timestamp CPU1_temp CPU2_temp MotherBoard_temp CPUFan_RPM
Sie können 4 Skripte haben - jedes erhält einen der Werte (verwenden Sie gawk
die {print$X}
Option, um zu bestimmen, welche Spalte gelesen werden soll).
Jetzt können Sie diese Skripte von anderen Programmen aus aufrufen, wenn sie Temperaturwerte von SpeedFan benötigen.