我如何识别 Windows 文件系统中修改日期比创建日期晚 X 的文件?

我如何识别 Windows 文件系统中修改日期比创建日期晚 X 的文件?

我希望可以通过一些 PowerShell 技巧来解决这个问题。

我的工作机器(Windows XP)上有一个目录,里面有大量 PDF,其中一些我已注释并重新保存。我希望能够使用以下简单的启发式方法识别我已注释的文件:查找修改日期比创建日期更近的文件。我不想只按修改日期排序,因为许多未注释但最近添加的 PDF 会使列表混乱。

此外,有时在保存后我会立即对文件进行一些快速编辑,这会触及修改日期,但没有什么意义。因此,如果我能够仅识别修改日期比创建日期晚 1 天以上的文件,那么我就没问题了。有没有关于使用命令的想法,我应该在 powershell 中执行此操作吗?

答案1

您可能想对输出进行一些格式化,但请尝试以下操作:

Get-ChildItem F:\Temp\* -recurse -include *.pdf | ForEach-Object { If (($_.LastWritetime - $_.CreationTime).Days -gt 1) { Write-Host $_.Name } }

用您自己的路径替换“F:\Temp\”。

答案2

尝试这样的操作:

ls C:\Path | ?{($_.LastWriteTime - $_.CreationTime).Days -gt 1} |
Select Name,CreationTime,LastWriteTime | Export-CSV .\Annotated.csv

这将提供最后写入时间减去创建时间大于一天(一天后修改的任何内容)的文件列表,并将其导出到工作目录中的 CSV。

您可以添加-recursive-include *.pdf分别用于递归和 PDF 过滤。

相关内容