怎么修改文件最后修改时间(图文)
修改文件最后修改时间有多种方法,根据不同操作系统和需求,以下是详细的解决方案:
Windows 系统
方法一:使用 PowerShell(推荐)
powershell
# 修改单个文件的最后修改时间 (Get-Item "C:\path\to\your\file.txt").LastWriteTime = "2023-12-25 14:30:00" # 修改多个文件 Get-ChildItem "C:\path\to\folder\*.*" | ForEach-Object { $_.LastWriteTime = "2023-12-25 14:30:00" } # 修改特定类型文件 Get-ChildItem "C:\path\to\folder\*.docx" | ForEach-Object { $_.LastWriteTime = "2023-12-25 14:30:00" }方法二:使用命令提示符 + 第三方工具
需要下载 NirCmd 工具:cmd
# 修改单个文件 nircmd setfiletime "C:\path\to\file.txt" "25-12-2023 14:30:00" # 批量修改 for %f in (*.txt) do nircmd setfiletime "%f" "25-12-2023 14:30:00"方法三:使用批处理脚本
batch
@echo off copy /b filename.txt +,, >nulmacOS 系统
使用 Terminal 终端
bash
# 修改文件的修改时间 touch -m -t 202312251430 "/path/to/file.txt" # 使用具体日期格式 touch -m -d "2023-12-25 14:30:00" "/path/to/file.txt" # 修改多个文件 touch -m -d "2023-12-25 14:30:00" /path/to/folder/* # 递归修改所有子目录文件 find /path/to/folder -exec touch -m -d "2023-12-25 14:30:00" {} \;Linux 系统
使用 touch 命令
bash
# 修改文件的修改时间 touch -m -d "2023-12-25 14:30:00" /path/to/file.txt # 使用时间戳格式 touch -m -t 202312251430 /path/to/file.txt # 修改多个文件 touch -m -d "2023-12-25 14:30:00" /path/to/folder/* # 递归修改 find /path/to/folder -exec touch -m -d "2023-12-25 14:30:00" {} \;跨平台方法
使用 Python 脚本
python
import os import time from datetime import datetime def change_modification_time(file_path, new_datetime_str): """ 修改文件的最后修改时间 :param file_path: 文件路径 :param new_datetime_str: 新的时间字符串,格式:"YYYY-MM-DD HH:MM:SS" """ # 解析时间字符串 dt = datetime.strptime(new_datetime_str, "%Y-%m-%d %H:%M:%S") # 转换为时间戳 timestamp = time.mktime(dt.timetuple()) # 修改文件时间戳 os.utime(file_path, (timestamp, timestamp)) print(f"已将 {file_path} 的修改时间改为 {new_datetime_str}") # 使用示例 change_modification_time("/path/to/file.txt", "2023-12-25 14:30:00") # 批量修改 import glob files = glob.glob("/path/to/folder/*.txt") for file in files: change_modification_time(file, "2023-12-25 14:30:00")使用 Node.js 脚本
javascript
const fs = require('fs'); function changeModificationTime(filePath, dateStr) { const newDate = new Date(dateStr); fs.utimesSync(filePath, newDate, newDate); console.log(`已修改 ${filePath} 的时间`); } // 使用示例 changeModificationTime('/path/to/file.txt', '2023-12-25 14:30:00');图形界面工具
Windows 第三方工具
- Attribute Changer
- 提供直观的图形界面
- 支持批量操作
- 可以同时修改创建时间、修改时间、访问时间
- BulkFileChanger (NirSoft)
- 免费工具
- 支持批量修改
- 可以按条件筛选文件
- File Date Corrector
- 专门用于修改文件时间戳
- 支持拖拽操作
macOS 工具
- A Better Finder Attributes
- 专业的文件属性修改工具
- 支持批量操作
- 界面友好
批量处理示例
PowerShell 批量修改特定文件类型
powershell
# 修改指定文件夹下所有Word文档的修改时间 Get-ChildItem "C:\Documents\*.docx" | ForEach-Object { $_.LastWriteTime = "2023-12-25 14:30:00" Write-Host "已修改: $($_.Name)" } # 修改最近7天内修改过的所有PDF文件 Get-ChildItem "C:\Documents\*.pdf" | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-7)} | ForEach-Object { $_.LastWriteTime = "2023-12-25 14:30:00" Write-Host "已修改: $($_.Name)" }Bash 批量修改
bash
# 修改指定目录下所有.jpg文件 find /path/to/photos -name "*.jpg" -exec touch -m -d "2023-12-25 14:30:00" {} \; # 按文件大小批量修改 find /path/to/folder -size +1M -exec touch -m -d "2023-12-25 14:30:00" {} \;注意事项
- 权限要求:确保对目标文件有写入权限
- 格式说明:
- Windows PowerShell: "YYYY-MM-DD HH:MM:SS"
- Unix/Linux: 多种格式支持,如 "2023-12-25 14:30:00"
- 备份重要文件:修改前建议备份重要文件
- 系统同步:某些情况下文件系统可能需要时间同步
- 防病毒软件:某些安全软件可能会监控时间戳修改

更新时间:2025-12-18 12:52:43
下一篇:文档修改时间可以更改吗(图文)
