我有一台基于 Windows 的文件共享服务器(为用户提供超过 100 个共享文件夹),用户每天都会复制文件以进行备份。有些用户忘记这样做,几天后或在灾难恢复中,似乎用户没有维护他的备份文件夹。这给 IT 部门带来了问题。目前,我们通过每天浏览文件夹并按上次修改排序来检查每个用户。我想用一些脚本来实现这一点。
文件夹结构如下
D:\备份
D:\Backup\User1\Folder1 [包含用户的主要备份文件] D:\Backup\User1\Folder2 [仅包含用户的垃圾数据]
D:\备份\用户2\文件夹1 D:\备份\用户2\文件夹2
等等
现在我想列出过去 X 天内未更新(修改)的文件夹名称。)但只应扫描包含实际备份文件的 FOLDER1)
答案1
您可以为此编写一个脚本以使事情变得更加复杂,但我建议导航到该文件夹并使用 Windows 内置搜索:modified:<YYYY-MM-DD hh:mm:ss
这将检查在给定日期之前修改的所有文件。
要仅检查文件夹,您可以添加:kind:folders
要仅检查给定文件夹名称中的文件,请使用:foldername:Folder1
您可以使用附加值来定制您的搜索。
这里有一些您可以使用的高级搜索选项。
答案2
您没有提到您使用的是哪种操作系统。我假设是 Windows 8.1、Windows 10 或 Windows Server 2008 R2 或更高版本。
有一个命令可以准确完成您想要的操作。
它被称为forfiles
此命令行实用程序将列出当前文件夹中的所有文件(以及可选的所有子文件夹)。您可以像查询一样对这个巨大的列表应用过滤器。其中一个选项是其高级日期系统。您不仅可以选择某个日期之前或之后的所有文件,还可以对特定天数执行相同操作。
该命令将是这样的:
forfiles /s /m FOLDER1 /c "cmd /c forfiles /p @path /s /d -30"
这将显示这些特定文件夹在过去 30 天内的所有修改。