batch file检查CPU并输出到TXT

我试图写一个简单的batch file来检查计算机的CPU每30秒,并输出到当前时间txt文件。 我想要每一行如下所示:

Line1: %time% %cpu% Line2: %time% %cpu% 

这是我到目前为止,没有工作:

 :loop echo %TIME% > C:\test.txt wmic cpu get loadpercentage > C:\test.txt timeout 30 goto loop 

你的示例中的一个大问题是redirect操作符'>' – 这将总是用input的新数据覆盖test.txt中的数据。 使用“>>”将输出附加到文件的末尾,而不删除文件中已有的信息。

而不是修复你的批处理脚本,这个PowerShell单行程将给你相同的结果,更less的努力。

 While($true){Get-WmiObject win32_processor | Select-Object @{L="Date";E={Get-Date}},LoadPercentage,SystemName | Export-Csv -NoTypeInformation -Append CPU.csv; Start-Sleep -Seconds 5} 

您甚至可以使用以下命令来远程计算机:

Get-WmiObject -ComputerName < computer >

对不起,没有回答你的具体问题。 我希望你能find我所提供的有用的东西。