通过终端设置文件夹及其所有子文件夹中所有 .DS_Store 文件的修改日期?

通过终端设置文件夹及其所有子文件夹中所有 .DS_Store 文件的修改日期?

我在 macOS Sierra 上。我会真的喜欢知道如何使用终端将特定层次结构中所有 .DS_Store 文件的修改日期设置为给定日期。

到目前为止,我知道我可以做到这一点:

sudo touch -t 200001010101 ./.DS_Store

这会将当前目录中 .DS_Store 文件的修改日期设置为 01/01/2000 01:01 AM。但我需要找到一种方法来做到这一点,不仅针对当前目录,而且所有子文件夹也在该目录中。

我真的希望有一个简单的解决方案。我厌倦了系统上各种文件夹的修改日期仅仅因为我在 Finder 中浏览它们时所做的视图更改而被更改!

这个问题是关于我正在尝试完成的一项较大任务的一小部分。除了部分脚本似乎只有在我直接从终端运行时才有效之外,我现在几乎已经完成了所有工作。以下是主要问题的链接,以防有人读到这篇文章可能会有所帮助:对选定文件夹执行一系列命令的服务,以消除 Finder 中 .DS_Store 文件的问题

答案1

如果你使用,bash你可以尝试类似以下操作:

sudo touch -t 200001010101 **/.DS_Store

.DS_Store此命令将更改所有子目录中的时间戳

更通用的方法是使用如下命令:

find . -name .DS_Store -type -f -exec touch -t 200001010101 {} \;

shopt -s dotglobPS如果尚未设置,则可能需要进行设置。

相关内容