我的知识记录

文件的修改和创建日期怎么改(图文)

修改文件的修改日期和创建日期有多种方法,根据不同操作系统有不同的操作方式:

Windows 系统

使用 PowerShell(推荐)


 
powershell
# 修改文件的最后写入时间(修改时间) (Get-Item "filename.txt").LastWriteTime = "2023-12-01 14:30:00" # 修改文件的创建时间 (Get-Item "filename.txt").CreationTime = "2023-12-01 09:00:00" # 修改文件的访问时间 (Get-Item "filename.txt").LastAccessTime = "2023-12-01 10:00:00" # 同时修改所有三个时间 $file = Get-Item "filename.txt" $datetime = Get-Date "2023-12-01 14:30:00" $file.LastWriteTime = $datetime $file.CreationTime = $datetime $file.LastAccessTime = $datetime # 批量修改多个文件 Get-ChildItem "*.txt" | ForEach-Object { $_.LastWriteTime = "2023-12-01 14:30:00" $_.CreationTime = "2023-12-01 09:00:00" }

使用命令提示符


 
cmd
# 更新文件的最后修改时间(当前时间) copy /b filename.txt +,, # 使用 PowerShell cmdlet(在 CMD 中) powershell "(Get-Item 'filename.txt').LastWriteTime = '2023-12-01 14:30:00'"

Linux/Unix 系统

使用 touch 命令


 
bash
# 修改访问时间和修改时间 touch -d "2023-12-01 14:30:00" filename.txt # 只修改访问时间 touch -a -d "2023-12-01 10:00:00" filename.txt # 只修改修改时间 touch -m -d "2023-12-01 14:30:00" filename.txt # 使用特定格式 touch -t 202312011430 filename.txt # 设置为相对时间 touch -d "1 week ago" filename.txt touch -d "yesterday" filename.txt

使用 debugfs(ext2/3/4 文件系统,高级用户)


 
bash
# 这种方法可以修改创建时间(inode 时间),但比较复杂且有风险 # 需要卸载文件系统才能操作

macOS 系统

使用 touch 命令


 
bash
# 类似 Linux 系统 touch -d "2023-12-01 14:30:00" filename.txt touch -t 202312011430 filename.txt

使用 SetFile(需要安装 Xcode command line tools)


 
bash
SetFile -d "12/01/2023 14:30:00" filename.txt # 创建日期 SetFile -m "12/01/2023 14:30:00" filename.txt # 修改日期

编程方式修改

Python


 
python
import os from datetime import datetime import time # 修改文件的访问时间和修改时间 atime = datetime(2023, 12, 1, 10, 0).timestamp() # 访问时间 mtime = datetime(2023, 12, 1, 14, 30).timestamp() # 修改时间 os.utime("filename.txt", (atime, mtime)) # 对于创建时间,Python 标准库不直接支持修改 # 需要使用第三方库或系统特定方法

Node.js


 
javascript
const fs = require('fs'); // 修改文件时间戳 const atime = new Date('2023-12-01T10:00:00'); const mtime = new Date('2023-12-01T14:30:00'); fs.utimesSync('filename.txt', atime, mtime);

Java


 
java
import java.io.File; import java.nio.file.Files; import java.nio.file.attribute.FileTime; import java.time.LocalDateTime; import java.time.ZoneId; File file = new File("filename.txt"); LocalDateTime dateTime = LocalDateTime.of(2023, 12, 1, 14, 30); FileTime fileTime = FileTime.from(dateTime.atZone(ZoneId.systemDefault()).toInstant()); Files.setLastModifiedTime(file.toPath(), fileTime); // Java 标准库也不直接支持修改创建时间

查看文件时间信息

Windows


 
powershell
# 查看文件详细时间信息 Get-Item filename.txt | Select-Object Name, CreationTime, LastWriteTime, LastAccessTime # 使用命令行 dir /t filename.txt

Linux/macOS


 
bash
# 查看详细时间信息 stat filename.txt # 查看基本时间信息 ls -l filename.txt

批量处理示例

PowerShell 批量修改


 
powershell
# 批量修改多个文件的时间 Get-ChildItem "*.txt" | ForEach-Object { $_.LastWriteTime = "2023-12-01 14:30:00" $_.CreationTime = "2023-12-01 09:00:00" Write-Host "Updated: $($_.Name)" }

Bash 批量修改


 
bash
# 批量修改多个文件 for file in *.txt; do touch -d "2023-12-01 14:30:00" "$file" echo "Updated: $file" done

注意事项

  1. 创建时间限制
    • Linux 系统通常不存储文件创建时间(较新版本 ext4 可能支持)
    • Windows 系统可以修改创建时间
    • macOS 系统可以修改创建时间
  2. 权限要求:确保对目标文件具有写权限
  3. 备份重要文件:修改前建议备份重要文件
  4. 时间一致性:建议同时修改相关时间戳以保持一致性
  5. 系统限制:某些系统或文件系统可能有特殊限制
最简单和常用的方法是使用 PowerShell(Windows)或 touch 命令(Linux/macOS)来修改文件的时间属性。
 

文件的修改和创建日期怎么改(图文)

标签:

更新时间:2025-12-17 11:11:19

上一篇:如何修改文件格式类型为mp3(图文)

下一篇:文件的修改和创建日期怎么改(图文)