文件的修改和创建日期怎么改(图文)
修改文件的修改日期和创建日期有多种方法,根据不同操作系统有不同的操作方式:
注意:大多数 Linux 文件系统不存储传统的"创建时间",而是存储 inode 更改时间(ctime)。
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" $newDateTime = Get-Date "2023-12-01 14:30:00" $file.LastWriteTime = $newDateTime $file.CreationTime = $newDateTime $file.LastAccessTime = $newDateTime # 批量修改多个文件 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 # 使用特定格式 (YYYYMMDDHHMM.SS) touch -t 202312011430 filename.txt # 设置为相对时间 touch -d "1 week ago" filename.txt touch -d "yesterday" filename.txtmacOS 系统
使用 touch 命令
bash
# 修改访问时间和修改时间 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 # 修改文件的访问时间和修改时间 atime = datetime(2023, 12, 1, 10, 0).timestamp() # 访问时间 mtime = datetime(2023, 12, 1, 14, 30).timestamp() # 修改时间 os.utime("filename.txt", (atime, mtime))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);查看文件时间信息
Windows
powershell
# 查看文件详细时间信息 Get-Item filename.txt | Select-Object Name, CreationTime, LastWriteTime, LastAccessTimeLinux/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高级技巧
设置特定时间格式
bash
# 多种时间格式支持 touch -d "2023-12-01 14:30:00" filename.txt touch -d "Dec 1 2023 14:30" filename.txt touch -d "1 Dec 2023" filename.txt touch -d "next Monday" filename.txt使用时间戳
bash
# 使用 Unix 时间戳 touch -d @1701445800 filename.txt # 对应 2023-12-01 14:30:00 UTC注意事项
- 创建时间限制:
- Linux 系统通常不存储传统意义上的创建时间
- Windows 和 macOS 支持修改创建时间
- 权限要求:确保对目标文件具有写权限
- 备份重要文件:修改前建议备份重要文件
- 时间一致性:建议同时修改相关时间戳以保持一致性
- 系统限制:某些系统或文件系统可能有特殊限制

更新时间:2025-12-17 11:11:32
下一篇:怎样修改文件的创建时间(图文)
