我正在尝试创建一个日志文件,其中包含Windows桌面上的进程和内存消耗。
我是脚本编程的新手,我真的很难完成此任务。
我发现命令任务列表几乎返回了我需要的所有信息。但是我想制作一个脚本,runs tasklist /fo csv >> c:\processes.csv
每5分钟...我的主要问题是,如何在csv输出文件上执行命令时在日期和时间中添加一列。
默认的csv文件为:
“图像名称”,“ PID”,“会话名称”,“会话编号”,“记忆使用情况”
我想要
“图像名称”,“ PID”,“会话名称”,“会话#”,“ Mem用法”,“日期时间”
我找不到自定义任务列表/ fo csv上的列的方法。
有人可以帮助我吗?抱歉英语不好...这不是我的主要语言。
答案 0 :(得分:1)
带有FOR
选项的/F
命令将允许您捕获命令的输出。然后,您可以将日期和时间添加到输出的每一行。
FOR /F "delims=" %%G IN ('tasklist /fo csv') DO ECHO %date% %time%,%%G>>process.csv
答案 1 :(得分:1)
使用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
或更好的方法(如果要在后台全天运行),将其添加为每五分钟运行一次的计划任务(当然没有循环)。