linux修改文件修改时间_touch命令改mtime_运维常用
说个实用技巧,Python修改文件时间适合需要高度定制的场景。导入os模块,os.utime(文件路径, (访问时间, 修改时间)),两个参数都是时间戳格式,用time.mktime把日期字符串转成时间戳。比如import time; t = time.mktime(time.strptime('指定日期', '%Y-%m-%d %H:%M:%S')); os.utime('文件路径', (t, t)),把访问时间和修改时间都设为目标值。
核心逻辑是,批量处理写个遍历脚本。用os.walk遍历目标文件夹,对每个文件判断扩展名是否符合要求,符合的调用os.utime修改时间。脚本可以加日志,把每个文件的原始时间和修改后时间写入日志文件,方便核对。还可以加条件筛选,比如只改大于1MB的文件、只改某个日期范围内的文件、根据文件名中的日期自动设置对应时间,这些是图形工具做不到的。
Windows下修改创建时间需要用到win32 API,因为os.utime只能改访问时间和修改时间。导入win32file和win32con模块,用win32file.SetFileTime(文件句柄, 创建时间, 访问时间, 修改时间)可以同时设置三个时间戳。需要先打开文件获取句柄,改完关闭句柄。这个方法只在Windows上有效,跨平台脚本要判断操作系统分别处理。
Python脚本的优势是可重复、可集成。把脚本保存为.py文件,需要时运行一次,几百份文件自动处理完。可以配合crontab或任务计划程序定时执行,比如每天凌晨自动把当天生成的日志文件时间统一归档。脚本里加异常处理,遇到权限不足或文件被占用的情况跳过并记录,不会因为一个文件出错导致整个批处理中断。实操验证过的方法,靠谱。
文件时间管理在摄影后期中很实用。相机导出的照片创建时间是导入时间不是拍摄时间,用工具根据EXIF中的拍摄时间批量设置文件修改时间,照片按时间排序就和拍摄顺序一致了。视频文件同理,根据元数据中的录制时间设置文件时间,素材管理效率大幅提升。

更新时间:2026-08-26 20:59:44