我一直在使用以下的shell bin/bash脚本作为应用程序,我可以把文件夹拖放到上面,它会更新该文件夹的修改日期以匹配其中最近修改的文件。
这将获取文件夹名称,然后将其传递给我主目录中的setMod脚本。
for f in each "$@"
do
echo "$f"
done
$HOME/setMod "$@"
这将获取文件夹名称,然后将其传递给我主目录中的setMod脚本。
#!/bin/bash
# Check that exactly one parameter has been specified - the directory
if [ $# -eq 1 ]; then
# Go to that directory or give up and die
cd "$1" || exit 1
# Get name of newest file
newest=$(stat -f "%m:%N" * | sort -rn | head -1 | cut -f2 -d:)
# Set modification date of folder to match
touch -r "$newest" .
fi
然而,如果我一次拖放多个文件夹,它将无法工作,我不知道如何让它支持同时处理多个文件夹。
此外,我从苹果客服那里得知,许多文件夹的修改日期不断更新的原因是由于某些与Time Machine相关的进程,尽管我有些文件夹多年未打开。如果有人知道如何防止这种情况发生,或者通过某种方式定期自动更新文件夹的修改日期,以匹配其中最近修改文件的日期/时间,那将使我免于经常手动运行此步骤的麻烦。