本文介绍一个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
新闻热点
疑难解答