Speed Fan ha un'opzione di registrazione. Abilitalo nella configurazione. I file di registro si trovano nella directory in cui è stato installato Speed Fan. Nel mio caso lo eraProgram Files\SpeedFan\SFLog(date).csv
Ho installato UnixTools per Windows. Se ho capito bene Cygwin
ha lo stesso tipo di funzionalità UnixTools
e ti dà la possibilità di utilizzare comandi simili a Unix in Windows.
Quindi, ora abbiamo il file di registro (che si aggiorna una volta ogni 3 secondi) con tutti i dati che vogliamo. Possiamo usarlo per ottenere gli ultimi valori da SpeedFan con il seguente script:
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}
Innanzitutto, impostiamo la variabile mydate
come data corrente formattata nello stile del registro di Speed Fan. Ne avremo bisogno per trovare il file di registro più recente.
Dopodiché utilizziamo la coda dei comandi con l'opzione -n 1
per ottenere l'ultima riga del file (dati più recenti).
E forniamo questa riga al comando gawk con l'opzione {print$2}
per ottenere la seconda 'colonna' della riga, poiché la prima 'colonna' è data / ora.
Quindi lo script farà eco al valore più recente della seconda colonna del file di registro. Se hai bisogno di più di un solo valore, crea un altro script che richiede la terza colonna dando l'opzione {print$3}
a gawk
.
Supponiamo che il file di registro di SpeedFan abbia il seguente formato:
Timestamp CPU1_temp CPU2_temp MotherBoard_temp CPUFan_RPM
Puoi avere 4 script - ognuno otterrà uno dei valori (usa l gawk
' {print$X}
opzione per determinare quale colonna leggerà).
Ora puoi chiamare questi script da altri programmi quando hanno bisogno di letture della temperatura da SpeedFan.