如何在 OS X 10.6.8 上批量更改文件的创建日期?

ber*_*rnk 6 date-time macos

请注意,我不是在问如何将一堆文件的创建日期更改为给定日期。我想将日期移动给定的时间,例如 47732400 秒。

我可以touch在 BASH 中使用或其他东西来完成这个吗?

Lri*_*Lri 6

如果目标修改时间在原始创建时间之前,touch 只会更改创建时间。

for f in ~/Desktop/*; do
    old=$(stat -f %B -t %s "$f")
    touch -t $(date -r $(($old - 1234567)) +%Y%m%d%H%M%S) "$f"
done
Run Code Online (Sandbox Code Playgroud)

SetFile 总是改变创建时间。它带有命令行工具包,可以从 Xcode 的首选项或Apple 网站下载

for f in ~/Desktop/*; do
    old=$(stat -f %B -t %s "$f")
    new=$(date -r $(($old + 1234567)) '+%m/%d/%Y %H:%M:%S')
    SetFile -d "$new" -m "$new" "$f"
done
Run Code Online (Sandbox Code Playgroud)

stat -f %B -t %s: 格式化出生时间、时间 格式化自纪元
date -r以来的秒数: 重新格式化自纪元以来的秒数
touch -t: 更改访问和修改时间
SetFile -d: 更改创建时间