讲师中心 微信公众号
AI工具推荐 视频效率加速

MAC如何批量修改文件的创建日期?(终端进阶用法)

阿静君_8551

阿静君_8551

发布时间:2026-03-15 17:50:21

|

295人浏览过

|

来源于php中文网

原创

macOS批量修改文件创建日期需用终端工具:一、SetFile命令统一设时间;二、exiftool写元数据并同步时间戳;三、Shell脚本解析文件名提取时间;四、Python调用os.setxattr设birthtime(macOS 12+ APFS)。

mac如何批量修改文件的创建日期?(终端进阶用法)

如果您需要在 macOS 系统中批量调整多个文件的创建日期,但 Finder 不提供直接操作入口,则需借助终端命令行工具实现。以下是几种可靠且可复现的操作方法:

一、使用 touch 命令配合 stat 和 xargs 修改创建时间

macOS 的 touch 命令默认仅修改访问时间和修改时间,但结合 SetFile 工具(来自 Xcode 命令行工具)可精确设定创建日期。此方法适用于已知目标时间且需统一赋值的场景。

1、打开终端,执行 xcode-select --install 确保已安装命令行工具。

2、确认 SetFile 可用:输入 which SetFile,返回路径即表示就绪。

3、进入目标文件所在目录,例如:cd /Users/username/Documents/testfiles。

4、运行以下命令将当前目录下所有 .txt 文件创建时间设为 2023 年 1 月 1 日 12:00:00:for f in *.txt; do SetFile -d "01/01/2023 12:00:00" "$f"; done。

二、利用 exiftool 批量写入创建日期(支持元数据感知文件)

exiftool 是跨平台元数据处理工具,对图像、PDF、音频等含标准元数据的文件可直接写入 CreateDate 字段,并同步更新文件系统创建时间(需配合 -api QuickTimeUTC=1 等参数及 macOS 特定行为)。

1、通过 Homebrew 安装 exiftool:brew install exiftool。

2、检查某图片的原始创建时间:exiftool -CreateDate IMG_1234.jpg。

3、将指定目录内全部 JPEG 文件创建时间设为 2022-06-15 09:30:00:exiftool -CreateDate="2022:06:15 09:30:00" -api QuickTimeUTC=1 /path/to/images/*.jpg。

4、强制刷新文件系统时间戳(部分版本需手动触发):touch -c -t 202206150930.00 /path/to/images/*.jpg。

三、编写 shell 脚本实现按文件名或修改时间推算创建时间

当原始创建时间丢失但存在命名规律(如 “IMG_20230405_142230.jpg”)或与修改时间高度接近时,可通过脚本提取时间信息并反向注入 SetFile。

1、新建脚本文件:nano set_creation_from_name.sh。

2、粘贴以下内容(以 YYYYMMDD_HHMMSS 格式命名的 JPG 文件为例):#!/bin/bash; for f in *.jpg; do if [[ $f =~ ([0-9]{4})([0-9]{2})([0-9]{2})_([0-9]{2})([0-9]{2})([0-9]{2})\.jpg ]]; then y=${BASH_REMATCH[1]}; m=${BASH_REMATCH[2]}; d=${BASH_REMATCH[3]}; H=${BASH_REMATCH[4]}; M=${BASH_REMATCH[5]}; S=${BASH_REMATCH[6]}; SetFile -d "$m/$d/$y $H:$M:$S" "$f"; fi; done。

3、赋予执行权限:chmod +x set_creation_from_name.sh。

4、运行脚本:./set_creation_from_name.sh。

四、使用 Python 脚本调用 os.setxattr 修改 birthtime(需 macOS 12+ 及 APFS 卷)

从 macOS Monterey(12.0)起,APFS 文件系统支持通过 extended attribute 写入 birthtime,Python 的 os.setxattr 可直接操作,但需 root 权限且仅对新创建或未被硬链接的文件生效。

1、确认文件系统类型:df -T .,输出应含 apfs。

2、创建脚本:nano set_birthtime.py。

3、写入代码:import os, sys; path = sys.argv[1]; ts = int(sys.argv[2]); os.setxattr(path, 'com.apple.birthtime', ts.to_bytes(8, "little"))。

4、执行示例(设置 test.txt 创建时间为 1672531200 秒,即 2023-01-01 00:00:00 UTC):sudo python3 set_birthtime.py test.txt 1672531200。

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

6699

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3225

2024.08.29

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

4188

2025.08.29

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

2865

2025.08.29

macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

4924

2025.05.09

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

80

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

40

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

60

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

20

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 193人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20.7万人学习

好课诞生记
好课诞生记

共20课时 | 7.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn