修改文件属性里的修改时间(图文)
修改文件属性里的修改时间有多种方法,以下是详细的操作指南:
Windows系统修改方法
1. PowerShell命令(推荐)
powershell
# 修改单个文件的修改时间 (Get-Item "C:\path\to\document.docx").LastWriteTime = "2023-12-25 15:30:00" # 修改多个文件的修改时间 Get-ChildItem "C:\Documents\*.docx" | ForEach-Object { $_.LastWriteTime = "2023-12-25 15:30:00" }2. 命令提示符方式
cmd
# 通过PowerShell执行 powershell "(Get-Item 'C:\Documents\file.docx').LastWriteTime = '2023-12-25 15:30:00'"3. 批量修改脚本
powershell
# 批量修改指定目录下所有文件的修改时间 $files = Get-ChildItem "C:\Documents" -Recurse -File foreach ($file in $files) { $file.LastWriteTime = "2023-12-25 15:30:00" Write-Host "Updated: $($file.FullName)" }查看文件属性中的修改时间
Windows查看方法:
- 右键点击文件 → "属性"
- 在"常规"选项卡中查看"修改时间"
- 或者使用命令行:
cmd
dir /t:w filename.docxmacOS系统修改方法
1. 使用touch命令
bash
# 修改文件的修改时间 touch -m -d "2023-12-25 15:30:00" document.docx2. 使用SetFile命令
bash
# 修改修改时间 SetFile -m "12/25/2023 15:30:00" document.docxLinux系统修改方法
bash
# 修改文件的修改时间 touch -m -d "2023-12-25 15:30:00" document.docx使用图形界面工具
Windows第三方工具:
- Attribute Changer
- 右键文件 → Attribute Changer
- 在"Date and Time"选项卡中修改修改时间
- BulkFileChanger(NirSoft)
- 支持批量修改大量文件的时间属性
- File Date Touch
- 简单易用的图形界面工具
编程方式修改
Python脚本
python
import os import time from datetime import datetime def modify_file_time(file_path, new_modification_time): """ 修改文件的修改时间 Args: file_path (str): 文件路径 new_modification_time (str): 新的修改时间 "YYYY-MM-DD HH:MM:SS" """ try: # 转换时间字符串为时间戳 dt = datetime.strptime(new_modification_time, "%Y-%m-%d %H:%M:%S") timestamp = time.mktime(dt.timetuple()) # 获取当前访问时间(保持不变) current_access_time = os.path.getatime(file_path) # 修改文件的修改时间 os.utime(file_path, (current_access_time, timestamp)) print(f"✓ 成功修改 {file_path} 的修改时间为 {new_modification_time}") except Exception as e: print(f"✗ 修改失败: {e}") # 使用示例 modify_file_time("document.docx", "2023-12-25 15:30:00")JavaScript (Node.js)
javascript
const fs = require('fs'); function changeModificationTime(filePath, newDateTime) { fs.utimes(filePath, new Date(), // 保持访问时间不变 new Date(newDateTime), // 新的修改时间 (err) => { if (err) { console.error(`✗ 修改失败 ${filePath}:`, err.message); } else { console.log(`✓ 成功修改 ${filePath} 的修改时间`); } }); } // 使用示例 changeModificationTime('document.docx', '2023-12-25T15:30:00');高级PowerShell脚本
powershell
function Set-FileModificationTime { <# .SYNOPSIS 设置文件的修改时间 .PARAMETER Path 文件路径 .PARAMETER DateTime 新的修改时间 .PARAMETER Recursive 是否递归处理子目录 #> param( [Parameter(Mandatory=$true)] [string]$Path, [Parameter(Mandatory=$true)] [datetime]$DateTime, [switch]$Recursive ) $searchParams = @{ Path = $Path File = $true } if ($Recursive) { $searchParams.Recurse = $true } $files = Get-ChildItem @searchParams foreach ($file in $files) { try { $file.LastWriteTime = $DateTime Write-Output "✓ Updated: $($file.FullName) to $DateTime" } catch { Write-Warning "✗ Failed: $($file.FullName) - $($_.Exception.Message)" } } } # 使用示例 Set-FileModificationTime -Path "C:\Documents" -DateTime "2023-12-25 15:30:00" -Recursive验证修改结果
Windows验证方法:
cmd
# 查看文件详细信息 dir /t:w "文件名.docx" # PowerShell验证 (Get-Item "文件名.docx").LastWriteTimePowerShell详细信息查看:
powershell
# 查看文件的所有时间属性 $file = Get-Item "document.docx" Write-Host "创建时间: $($file.CreationTime)" Write-Host "修改时间: $($file.LastWriteTime)" Write-Host "访问时间: $($file.LastAccessTime)"批量处理示例
批量修改特定类型文件
powershell
# 定义要处理的文件类型和新时间 $fileTypes = @(".docx", ".pdf", ".txt", ".xlsx") $newTime = "2023-12-25 15:30:00" $directory = "C:\Documents" # 获取指定类型的文件 $files = Get-ChildItem $directory -Recurse -File | Where-Object { $fileTypes -contains $_.Extension } # 批量修改修改时间 foreach ($file in $files) { try { $file.LastWriteTime = $newTime Write-Host "✓ Updated: $($file.FullName)" } catch { Write-Warning "✗ Failed: $($file.FullName)" } }注意事项
⚠️ 重要提醒:- 管理员权限:修改系统文件需要管理员权限
- 法律合规:随意修改重要文件时间可能违反法规要求
- 审计追踪:企业环境中此类操作可能被监控记录
- 同步问题:云存储服务可能保留原始时间戳
- 备份影响:备份系统可能保留原始修改时间
推荐操作流程
- 备份重要文件:操作前务必备份关键文档
- 测试验证:先在测试文件上验证方法的有效性
- 选择方法:根据需求选择合适的修改方法
- 批量处理:确认无误后进行批量操作
- 结果验证:检查修改是否达到预期效果

更新时间:2025-12-18 13:29:00
下一篇:怎么修改文件的修改日期(图文)
