修改文件修改日期的方法 文件访问时间可以修改吗
Windows 系统
PowerShell 方法(推荐):
powershell
# 修改单个文件的修改时间 (Get-Item "C:\path\to\file.txt").LastWriteTime = "2024-06-15 14:30:00" # 修改多个文件的修改时间 Get-ChildItem "C:\path\to\folder\*.txt" | ForEach-Object { $_.LastWriteTime = "2024-06-15 14:30:00" } # 批量修改文件夹中所有文件 Get-ChildItem "C:\path\to\folder" -Recurse -File | ForEach-Object { $_.LastWriteTime = "2024-06-15 14:30:00" }CMD 命令行方法:
cmd
# 使用 PowerShell 命令 powershell "(Get-Item 'C:\path\to\file.txt').LastWriteTime = '2024-06-15 14:30:00'"Linux/macOS 系统
使用 touch 命令:
bash
# 修改文件的修改时间(-m 参数) touch -m -t 202406151430 filename.txt # 格式说明:YYYYMMDDHHMM # 例如:202406151430 表示 2024年6月15日14点30分 # 使用 -d 参数指定日期时间 touch -m -d "2024-06-15 14:30:00" filename.txt # 修改当前目录下所有 .log 文件 touch -m -t 202406151430 *.log文件访问时间可以修改吗?
答案是:可以!Windows 系统修改访问时间:
PowerShell 方法:
powershell
# 修改单个文件的访问时间 (Get-Item "C:\path\to\file.txt").LastAccessTime = "2024-06-15 14:30:00" # 同时修改修改时间和访问时间 $file = Get-Item "C:\path\to\file.txt" $file.LastWriteTime = "2024-06-15 14:30:00" $file.LastAccessTime = "2024-06-10 09:15:00"CMD 方法:
cmd
powershell "(Get-Item 'C:\path\to\file.txt').LastAccessTime = '2024-06-15 14:30:00'"Linux/macOS 系统修改访问时间:
使用 touch 命令:
bash
# 修改文件的访问时间(-a 参数) touch -a -t 202406151430 filename.txt # 同时修改访问时间和修改时间 touch -a -m -t 202406151430 filename.txt # 使用 -d 参数 touch -a -d "2024-06-15 14:30:00" filename.txt编程方式修改
Python 方法:
python
import os import time from datetime import datetime def modify_file_times(file_path, modification_time=None, access_time=None): """修改文件的修改时间和访问时间""" # 获取当前文件的时间信息 stat_info = os.stat(file_path) current_atime = stat_info.st_atime current_mtime = stat_info.st_mtime # 设置新的时间戳 new_atime = time.mktime(access_time.timetuple()) if access_time else current_atime new_mtime = time.mktime(modification_time.timetuple()) if modification_time else current_mtime # 应用新时间 os.utime(file_path, (new_atime, new_mtime)) print(f"文件时间已更新") # 使用示例 mod_time = datetime(2024, 6, 15, 14, 30) access_time = datetime(2024, 6, 10, 9, 15) modify_file_times("test.txt", mod_time, access_time)Node.js 方法:
javascript
const fs = require('fs'); // 修改文件的访问时间和修改时间 const accessTime = new Date('2024-06-15T14:30:00'); const modTime = new Date('2024-06-10T09:15:00'); fs.utimes('filename.txt', accessTime, modTime, (err) => { if (err) throw err; console.log('文件时间已更新'); });批量修改示例
PowerShell 批量修改:
powershell
# 修改文件夹中所有文件的访问时间和修改时间 $files = Get-ChildItem "C:\path\to\folder" -File foreach ($file in $files) { $file.LastAccessTime = "2024-06-15 14:30:00" $file.LastWriteTime = "2024-06-10 09:15:00" }Bash 批量修改:
bash
# 修改当前目录下所有文件的访问时间 for file in *; do if [ -f "$file" ]; then touch -a -t 202406151430 "$file" fi done重要注意事项
- 权限要求:修改文件时间通常需要对该文件有写入权限
- 系统限制:某些系统可能会限制对系统文件的时间修改
- 时区考虑:时间修改会受到本地时区设置的影响
- 自动更新:在某些系统中,访问文件会自动更新访问时间
- 性能影响:频繁修改大量文件时间可能会影响系统性能

更新时间:2025-12-13 16:08:27
上一篇:如何更改文件时间和日期 怎么把文件的修改时间改了 如何修改文件创建时间
