我的知识记录

怎样可以更改电脑文档的修改时间(图文)

方法一:使用PowerShell(推荐)

1. 修改单个文件的修改时间:


 
powershell
# 修改指定文件的最后修改时间 $file = Get-Item "C:\path\to\your\document.docx" $file.LastWriteTime = "2024-01-01 15:30:00"

2. 批量修改多个文件:


 
powershell
# 修改指定文件夹下所有Word文档的修改时间 Get-ChildItem "C:\Documents\*.docx" | ForEach-Object { $_.LastWriteTime = "2024-01-01 15:30:00" } # 修改多种类型文档的修改时间 Get-ChildItem "C:\Documents" -Include *.docx,*.xlsx,*.pdf | ForEach-Object { $_.LastWriteTime = "2024-01-01 15:30:00" }

方法二:使用命令提示符

1. 使用copy命令:


 
cmd
# 强制更新文件时间戳(不改变内容) copy /b filename.docx +,,

2. 结合PowerShell:


 
cmd
# 在CMD中调用PowerShell命令 powershell "Get-Item 'filename.docx').LastWriteTime = '2024-01-01 15:30:00'"

方法三:使用批处理脚本(.bat文件)

1. 基础批处理脚本:


 
batch
@echo off title 修改文件修改时间工具 REM 修改单个文件 powershell "$file = Get-Item 'document.docx'; $file.LastWriteTime = '2024-01-01 15:30:00'" echo 文件修改时间已更新 pause

2. 交互式批处理脚本:


 
batch
@echo off title 批量修改文件时间工具 set /p filepath=请输入文件路径或文件夹路径: set /p newtime=请输入新的修改时间 (格式: YYYY-MM-DD HH:MM:SS): REM 判断是文件还是文件夹 if exist "%filepath%\*" ( REM 是文件夹,批量处理 powershell "Get-ChildItem '%filepath%\*' -File | ForEach-Object {$_.LastWriteTime = '%newtime%'}" echo 文件夹内所有文件的修改时间已更新 ) else ( REM 是单个文件 powershell "$file = Get-Item '%filepath%'; $file.LastWriteTime = '%newtime%'" echo 文件修改时间已更新 ) pause

方法四:使用图形界面工具

1. 第三方软件:

  • Attribute Changer
  • Bulk File Changer
  • NirSoft FileDateChanger

2. Windows资源管理器:

  • 右键文件 → 属性 → 详细信息(部分版本支持编辑)

方法五:Python脚本方式


 
python
import os import time from datetime import datetime # 修改单个文件 def change_file_time(filepath, new_time_str): # 将字符串时间转换为时间戳 new_time = time.mktime(datetime.strptime(new_time_str, "%Y-%m-%d %H:%M:%S").timetuple()) # 修改文件的访问时间和修改时间 os.utime(filepath, (new_time, new_time)) # 使用示例 change_file_time("document.docx", "2024-01-01 15:30:00")

方法六:高级PowerShell脚本

1. 按条件批量修改:


 
powershell
# 修改特定日期范围内的文件 Get-ChildItem "C:\Documents" -Recurse -File | Where-Object { $_.LastWriteTime -ge "2023-01-01" -and $_.LastWriteTime -le "2023-12-31" } | ForEach-Object { $_.LastWriteTime = "2024-01-01 15:30:00" Write-Host "已更新: $($_.Name)" }

2. 递归修改子文件夹中的所有文件:


 
powershell
# 递归修改文件夹及其子文件夹中所有文件的修改时间 Get-ChildItem "C:\Documents" -Recurse -File | ForEach-Object { $_.LastWriteTime = "2024-01-01 15:30:00" Write-Host "Updated: $($_.FullName)" }

注意事项

权限要求:

  • 可能需要管理员权限才能修改某些系统文件
  • 确保对目标文件具有写入权限

安全考虑:

  • 某些安全软件可能会阻止时间修改操作
  • 企业环境中可能存在组策略限制

系统兼容性:

  • PowerShell方法适用于Windows 7及以上版本
  • CMD方法兼容性最好,但功能有限

备份建议:

  • 修改重要文件前建议先备份
  • 可以先在测试文件上验证脚本正确性
推荐使用PowerShell方法,因为它功能强大、精确可控,并且是Windows系统的内置工具,无需安装额外软件。
 

怎样可以更改电脑文档的修改时间(图文)

标签:

更新时间:2025-12-18 13:50:58

上一篇:文件属性里的创建时间与修改时间(图文)

下一篇:怎么修改文档的修改日期和时间(图文)