论文部分内容阅读
我们首先以管理员身份启动命令提示符,输入下列代码,将当前进程列表备份到E:\process.csv中完成初始备份(图1):
echo%date:~0,10%,%time%(备份)>e:\process.csv
TASKLIST/FI"STATUS eq RUNNING"/FO CSV>>e:\process.csv
代码解释:
“%date:~0,10%”表示在屏幕上显示当前日期,并且只截取日期中的前10位字符(默认格式是“2020/06/05周五”,截取字符后显示的是“2020/06/05”,方便后续筛选)。“%time%(备份)”表示显示当前时间+备份,然后使用Echo命令显示并输出到“E:\process.csv”中保存。
“TASKLIST /FI”STATUS eq RUNNING“/FO CSV>>e:\process.CSV”表示使用参数/FI(Filter)筛选进程,“STATUS eq RUNNING”即为筛选正在运行的进程,/FO(Fomat)为指定输出格式参数,后面的CSV即为指定的输出格式,这样就会显示当前正在运行的所有进程,同时将内容追加输出到“E:\Drocess.csv”中。
执行完上述代码后使用Excel打开“E:\process.csv”,在列表中我们可以看到当前运行的所有进程,并且还会显示备份的日期和时间(图2)。
其他数据可以结合系统的“任务计划程序”实现自动备份。我们首先启动“记事本”输入上述代码(第一行代码要改为“echo%date:~0,10%,%time%(备份)>>e:\process.CSV”),接着将其保存为“E:\bf.bat”備用。启动“任务计划程序”后新建一个名为“备份开机进程”的新任务,依次切换到“触发器一新建触发器”,建立一个每周一到周五,开始时间为9:05(对应工作日上班开电脑的时间)的任务(图3)。
接着依次切换到“操作→新建操作一启动程序”,在“程序或脚本”处输入“E:\bf.bat”,这样在工作日期间到了设定时间就会自动备份进程了(图4)。
好了,现在如果系统出现异常,我们就可以通过数据比对来发现新增的进程了。比如6月9日觉得开机速度明显变慢,通过任务管理器发现系统资源占用极大。这时我们可以使用Excel打开“E:\process.csv”,选中A列,依次点击“开始→条件格式→发生日期”,选择最近7天的数据填充为浅红色,这样在列表中可以醒目地显示最近7天备份的数据(图5)。
我们可以先对比距离异常最接近的日期,如6月8日的数据。新建一个工作表,将6月8日的A列进程数据复制到新表的A列,依次点击“开始→数据→删除重复值→确定”,仅保留不重复的进程。同上,把6月9日的进程数据复制到新表的B列,也执行删除重复值的操作。操作完成后选中A、B列数据,依次点击“条件格式→重复值→唯一值”,这样就能快速地找到6月9日比6月8日新增的两个进程“qq.exe”和“svchost.exe”(图6)。
打开任务管理器,切换到“详细信息”,找到新增的“svchost.exe”进程并右击选择“打开文件所在的位置”(图7)。
在打开的窗口中可以看到,该进程位于“C:\Users\当前用户\AppData\Local\{6A896522-C181-40E4-A1C6-CCE7795E10D3}”,保存的位置极为可疑,按提示结束该进程并删除后系统恢复正常(图8)。
通过备份进程的方法可以在系统出现异常时很快地找出可疑进程,效率非常高。同理,我们也可以通过“wmic/output:C:\InstallList.txt Droduct get name,vers‘ion>1.csv”命令备份当前系统安装的软件,然后通过数据比对找出最近安装的新软件,以此来确定是不是因为新安装的软件导致的系统异常。