首页 > 开发 > PowerShell > 正文

PowerShell中按修改时间查找文件的方法

2020-05-30 20:12:38
字体:
来源:转载
供稿:网友

本文介绍一个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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表