Назад | Перейти на главную страницу

командный файл для проверки процессора и вывода в txt

Я пытаюсь написать простой командный файл, чтобы проверять процессор компьютера каждые 30 секунд и выводить в текстовый файл с текущим временем. Я хочу, чтобы каждая строка была такой:

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

Вот что я пока придумал, не сработало:

:loop

echo %TIME% > C:\test.txt

wmic cpu get loadpercentage > C:\test.txt

timeout 30

goto loop

Большой проблемой с вашим образцом является оператор перенаправления '>' - он всегда будет перезаписывать данные в test.txt новыми вводимыми данными. Используйте '>>', чтобы добавить вывод в конец файла, не удаляя информацию, которая уже есть в файле.

Вместо того, чтобы исправлять ваш пакетный скрипт, этот однострочник PowerShell даст вам тот же результат с гораздо меньшими усилиями.

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 <компьютер>

Извините за то, что не ответил на ваш конкретный вопрос. Надеюсь, вы найдете то, что я предоставил, полезным.