我正在尝试获取 Windows 上一组文件的最后修改日期。在 GNU 系统上,我可以使用类似stat -c %Y
.
我知道这个wmic
命令,但问题是它非常慢。在我的系统上,运行该命令wmic datafile where Name="..." get LastModified /value
比在 MSYS2 shell 中使用 GNU stat 端口慢 4 到 7 倍。
就我的目的而言,我需要一种更快的替代方案,并且内置于 Windows 本身或 Visual Studio 开发工具中。我并不真正关心输出格式,因为我可以自己手动解析它。
有人知道是否存在这样的事情吗?
答案1
如果您可以按字段解析输出,则 Windows 命令行 DIR 应该可以完成此工作。根据需要将输出传输到文件。
例如,目录/o:d/t:w使用上次写入(即修改)字段 [/t:w] 按日期 [/o:d] 排序文件并生成以下内容:
C:\Intel\Logs 目录
2016 年 7 月 6 日晚上 10:28 ..
2016 年 7 月 6 日 晚上 10:28 0 IntelCPHS.log
2017 年 5 月 13 日 晚上 10:01 767,814 IntelGFX.log
2017 年 10 月 17 日 晚上 10:54 51,608 IntelGFXCoin.log
如果你需要时间, 尝试:
forfiles /c“cmd /c echo @file @ftime”
进入目录 /?查看特定属性、输出格式等文件的选项。