我的知识记录

文件修改后修改时间不变(图文)

当您修改文件内容后,系统通常会自动更新文件的"修改时间"。如果您希望保持修改时间不变,可以采用以下方法:

Windows 系统

方法1:使用 PowerShell 命令


 
powershell
# 记录当前修改时间 $file = Get-Item "C:\path\to\your\file.txt" $originalTime = $file.LastWriteTime # 进行文件修改操作... # 恢复原来的修改时间 (Get-Item "C:\path\to\your\file.txt").LastWriteTime = $originalTime

方法2:使用 CMD 命令


 
cmd
# 先记录时间,然后使用 touch 命令恢复 # 需要先安装 touch for Windows 工具 touch -t YYYYMMDDhhmmss filename.ext

方法3:使用第三方工具

  • Attribute Changer:可以精确设置文件的时间属性
  • BulkFileChanger:批量修改文件时间戳

macOS/Linux 系统

使用 stat 和 touch 命令组合


 
bash
# 1. 先获取当前修改时间 stat -f "%m" filename.txt # macOS stat -c "%Y" filename.txt # Linux # 2. 进行文件修改... # 3. 恢复原始修改时间 touch -d "2023-06-15 14:30:00" filename.txt

使用脚本自动化


 
bash
#!/bin/bash filename="example.txt" # 保存当前修改时间 original_time=$(stat -c %Y "$filename") # 进行您的文件修改操作 echo "新增内容" >> "$filename" # 恢复原始修改时间 touch -d "@$original_time" "$filename"

跨平台解决方案

Python 脚本方法


 
python
import os import time from datetime import datetime def preserve_mtime(filepath, operation): # 获取原始修改时间 original_mtime = os.path.getmtime(filepath) # 执行修改操作 operation() # 恢复原始修改时间 os.utime(filepath, (os.path.getatime(filepath), original_mtime)) # 使用示例 def my_operation(): with open('test.txt', 'a') as f: f.write('new content\n') preserve_mtime('test.txt', my_operation)

专业工具推荐

1. ExifTool


 
bash
# 查看文件时间信息 exiftool filename.pdf # 可以用来精确控制各种时间属性

2. Total Commander (Windows)

  • 内置文件操作功能可以保持时间戳不变

应用场景

这种方法常用于以下情况:
  • 整理文件但不想改变时间戳
  • 批量重命名文件
  • 备份同步时保持时间一致性
  • 版本控制系统中的时间管理

注意事项

⚠️ 重要提醒
  • 操作前务必备份重要文件
  • 某些系统保护的文件可能需要管理员权限
  • 不同文件系统的支持程度可能不同
  • 某些应用程序可能会强制更新时间戳
选择适合您操作系统和需求的方法即可实现保持文件修改时间不变的目标。
 

文件修改后修改时间不变(图文)

标签:

更新时间:2025-12-17 15:18:59

上一篇:用ps修改pdf新手入门(图文)

下一篇:如何修改文件上传时间(图文)