PowerShell中按修改时间查找文件的方法
程序员文章站
2022-05-31 11:41:02
本文介绍一个powershell中按文件的的修改时间来查找文件,这里要用到文件对象的lastwritetime这个属性。
在很多时候,我都都需要按修改时间来查找文件。比如...
本文介绍一个powershell中按文件的的修改时间来查找文件,这里要用到文件对象的lastwritetime这个属性。
在很多时候,我都都需要按修改时间来查找文件。比如一个网站,近期发现被人挂马了,我们可能会看看近期的备份是否有被修改,从而确定一下被黑的大致时间段。有了这个时间段后,我们要看看这段时间之内有哪些文件被修改过,有哪些新增上来的文件,很有可能黑客留下下的一句话木马,甚至大马就在里面。
下面我们来看看powershell中如何根据文件修改时间来查找文件。
小编先来看看d盘根目录下有些什么内容:
复制代码 代码如下:
ps c:\users\splaybow> dir d:
目录: d:\
mode lastwritetime length name
---- ------------- ------ ----
d---- 2013/11/1 22:27 green
d---- 2013/11/4 17:31 program files
d---- 2013/11/6 10:23 program files (x86)
d---- 2013/10/13 10:02 soft
因为小编没有使用-recurse参数,所以并没有循环列出子目录。如果我们在一个目录下查找所有文件,那是应该在dir之后带上这个参数的。现在得到一共是四个目录。好了,我们来筛选一下修改时间在2013-11-4之前文件(或目录)。注意,下面命令使用管道对dir列出的目录进行筛选,找出lastwritetime小于2013-11-4的,既然是小于,那肯定就不包括它了。得到结果如下:
复制代码 代码如下:
ps c:\users\splaybow> dir d: | ?{$_.lastwritetime -lt '2013-11-4'}
目录: d:\
mode lastwritetime length name
---- ------------- ------ ----
d---- 2013/11/1 22:27 green
d---- 2013/10/13 10:02 soft
虽然我这里只是按时间搜索了一下目录,但对于文件,操作或者说命令其实是完全一样的。所以大家可以放心的将这个命令用于搜索指定时间段的文件。
关于powershell按修改时间查找文件,本文就介绍这么多,希望对您有所帮助,谢谢!