我试图写一个简单的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我所提供的有用的东西。