从命令提示符下,脚本:
C:\>dir *.* /s > a.txt
会列出 TXT 文件 (a.txt) 中的所有文件,然后可以使用记事本或其他文本编辑器打开。然后,您可以在列表中搜索在某个时间范围内(例如今天)修改的文件。例如,这个问题是在 2015 年 8 月 6 日写的,所以我可以搜索“06/08/2015”。您甚至可以通过在今天 10:00 之后创建的文件中搜索“06/08/2015 10”来改进这一点。
这样做很好,但生成的文件可能非常大(而且生成需要一段时间)。有没有更好的办法(最好但不限于从命令行)。
答案1
我建议文件定位器精简版。它有一个日期标签。它很轻巧,易于使用。
答案2
那么 powershell 怎么样?
get-childitem -recurse | where-object { $_.lastwritetime -gt (get-date).addHours(-100)}
我认为这对你来说很好。
示例输出:
12:20 x D:\Users\x > get-childitem -recurse |where-object {$_.lastwritetime -gt (get-date).addHours(-100)}
Directory: D:\Users\x
Mode LastWriteTime Length Name
---- ------------- ------ ----
d-r-- 2015-08-06 10:43 Desktop
Directory: D:\Users\x\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2015-08-05 16:38 636963 20119998885_921a43c7b4_k.jpg
-a--- 2015-08-03 15:45 206011 cpu.csv
Directory: D:\Users\x\Important\Passwd
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2015-08-05 10:49 62 main.plk
Get-childitem 与旧版本类似dir
,但输出更像对象而不是文本流。每个项目都有属性 - 例如 lastwritetime 就像修改时间一样。您可以使用 addDays 或 addHours 等函数对这些参数进行算术运算,以获得基于日期的所需过滤器。
当然,您可以使用-eq
而不是-gt
并提供要匹配的确切日期。我认为您甚至可以使用-match
运算符并指定带有通配符的掩码来匹配所需的日期。试试看。它比纯 cmd 更好。