如何在 Windows/Mac/Linux/Unix 中递归更改文件夹时间戳

如何在 Windows/Mac/Linux/Unix 中递归更改文件夹时间戳

对于Windows:

我需要更改 TOP FOLDER 时间戳以反映最新文件或最新添加的子文件夹。请注意,我不想更改没有添加新文件的子文件夹的时间戳属性。因此,只有子文件夹和 TOP 文件夹需要更改时间戳属性以匹配最新文件(或子文件夹),从而允许空文件夹和零字节文件(例如“。”)。

如果可以优先在 WSH、VB、Powershell 或 Ms-DOS(python、PERL 等)批处理文件中编写脚本,以便我可以运行任务计划程序来自动执行该过程(在一天结束时,比如晚上 8 点)。

我见过针对 *NUX 的类似问题,但对于 *NUX 或 Windows(和 Mac)没有确切答案。这肯定是一个真正的挑战。由于我对 Widows API(或任何类型的编程)知之甚少,我需要超级用户群体的帮助。谢谢,谢谢...

建议:使用 MD5 哈希值来比较文件时间戳(有意义吗?)

例如参见: http://msdn.microsoft.com/en-us/library/ms724205%28v=vs.85%29 http://msdn.microsoft.com/en-us/library/ms724284%28VS.85%29.aspx

答案1

它是用 bash / cygwin 编写的,可以满足我的需要 - 这听起来与您的需求类似...无论如何它都不高效,但它是有效的。

=================

find -maxdepth 1 -type d | grep -v "^\.$" | while read D ; do
 cd "$D"
 F=`ls -1tr | tail -1`
 cd ..
 touch -r "$D/$F" "$D"
done

=================

布赖恩

相关内容