如何设置一组文件的创建日期等于macOS中的修改日期?

时间:2019-01-14 00:58:16

标签: bash macos

我在终端中使用以下代码将图像文件的创建日期更改为等于“修改日期”:

SetFile -d "$(GetFileInfo -m /path/file.png)" /path/file.png

如果我手动设置每个文件的路径,这将起作用。我的问题是我试图以/path/的形式运行数百个文件(多种图像和视频格式)的更新。

这是我尝试过的:

使用For循环:

for f in /path/*; do SetFile -d "$(GetFileInfo -m $f)" $f; done 

使用“查找”命令搜索目录并应用SetFile:

find /path/ -maxdepth 1 -type f -exec SetFile -d "$(GetFileInfo -m $f)"  \; > results.out

都没有用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我怀疑/path/*中的一个或多个文件的文件名中包含空格。

尝试一下:

for f in /path/*
do
DATE=`GetFileInfo -m "$f"`
SetFile -d "${DATE}" "${f}"
done