在很多时候,我都都需要按修改时间来查找文件。比如一个网站,近期发现被人挂马了,我们可能会看看近期的备份是否有被修改,从而确定一下被黑的大致时间段。有了这个时间段后,我们要看看这段时间之内有哪些文件被修改过,有哪些新增上来的文件,很有可能黑客留下下的一句话木马,甚至大马就在里面。
下面我们来看看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按修改时间查找文件,本文就介绍这么多,希望对您有所帮助,谢谢!