Tasklist csv script - PullRequest
       33

Tasklist csv script

0 голосов
/ 03 октября 2018

Я пытаюсь создать файл журнала, который включает процесс и потребление памяти на рабочем столе Windows.Я новичок в программировании сценариев, и я действительно изо всех сил, чтобы выполнить эту задачу.Я обнаружил, что командный список задач возвращает почти всю информацию, которая мне нужна.Однако я хотел бы сделать скрипт, который runs tasklist /fo csv >> c:\processes.csv каждые 5 минут ... Моя главная проблема заключается в том, как включить столбец с датой и временем выполнения команды в выходном файле csv.

default csvфайл:

«Имя изображения», «PID», «Имя сеанса», «Номер сеанса», «Использование памяти»

Мне бы хотелось

«Имя изображения"," PID "," Имя сеанса "," Session # "," Использование Mem "," datetime "

Я не нашел способа настроить столбцы в списке задач / fo csv.

Кто-нибудь может мне помочь?Извините за плохой английский ... это не мой основной язык.

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Используйте цикл for /f для обработки вывода вашей команды и просто добавьте нужную строку.

(for /f "delims=" %%a in ('tasklist /fo csv') do echo %%a, %date% %time%)>>c:\processes.csv

Чтобы выполнить ее все пять минут, поместите цикл примерно так:

:loop
(for /f "delims=" %%a in ('tasklist /fo csv') do echo %%a, %date%)>>c:\processes.csv
timeout 300
goto :loop

или лучше (если вы хотите запускать его весь день в фоновом режиме), добавьте его как запланированное задание (конечно, без цикла) для запуска каждые пять минут.

0 голосов
/ 03 октября 2018

Команда FOR с параметром /F позволит вам захватить вывод команды.Затем вы можете добавить дату и время к каждой строке вывода.

FOR /F "delims=" %%G IN ('tasklist /fo csv') DO ECHO %date% %time%,%%G>>process.csv
...