Speed Fan tem opção de registro. Ativá-lo na configuração. Você encontrará arquivos de log no diretório onde o Speed Fan foi instalado. No meu caso foi Program Files\SpeedFan\SFLog(date).csv
Eu instalei UnixTools para Windows. Se bem entendi, Cygwin
tem o mesmo tipo de recursos que UnixTools
e dá a você a possibilidade de usar comandos semelhantes ao Unix no Windows.
Então, agora temos o arquivo de log (que é atualizado uma vez em 3 segundos) com todos os dados que desejamos. Podemos usá-lo para obter os últimos valores do SpeedFan com o seguinte 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}
Primeiramente, definimos a variável mydate
como a data atual formatada no estilo do registro do Speed Fan. Vamos precisar dele para encontrar o arquivo de log mais recente.
Depois disso, usamos o comando final com a opção -n 1
para obter a última linha do arquivo ( dados mais recentes).
E nós fornecemos esta linha para o comando gawk com a opção {print$2}
para obter a segunda coluna 'da linha, já que a primeira' coluna 'é o registro de data e hora.
Portanto, o script irá ecoar o valor mais recente da segunda coluna do arquivo de log. Se você precisar de mais do que apenas um valor - crie outro script que solicite a terceira coluna, fornecendo a opção {print$3}
a gawk
.
Digamos que o arquivo de log do SpeedFan tenha o seguinte formato:
Timestamp CPU1_temp CPU2_temp MotherBoard_temp CPUFan_RPM
Você pode ter 4 scripts - cada um deles receberá um dos valores (use a opção gawk
' {print$X}
' para determinar a coluna que será lida).
Agora você pode chamar esses scripts de outros programas quando precisarem de leituras de temperatura do SpeedFan.