python修改文件创建时间、修改时间

复制代码
import os
import time

import pywintypes
from win32con import FILE_FLAG_BACKUP_SEMANTICS
from win32con import FILE_SHARE_WRITE
from win32file import CloseHandle
from win32file import CreateFile
from win32file import GENERIC_WRITE
from win32file import OPEN_EXISTING
from win32file import SetFileTime


def modify_file_create_time(path, create_time_str, update_time_str, access_time_str):
    """定义文件或文件夹的创建、修改、访问时间"""
    path = os.path.abspath(path)
    if os.path.exists(path):
        try:
            format_str = "%Y-%m-%d %H:%M:%S"  # 时间格式
            file_handle = CreateFile(path, GENERIC_WRITE, FILE_SHARE_WRITE, None, OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS, 0)
            create_time= update_time= access_time = None 
            if create_time_str : 
                create_time = pywintypes.Time(time.mktime(time.strptime(create_time_str, format_str)))
            if update_time_str : 
                update_time = pywintypes.Time(time.mktime(time.strptime(update_time_str, format_str)))
            if access_time_str : 
                access_time = pywintypes.Time(time.mktime(time.strptime(access_time_str, format_str)))
            # 修改文件的创建时间
            SetFileTime(file_handle, create_time, update_time, access_time)
            # 关闭文件句柄
            CloseHandle(file_handle)
            print('成功:({})/({})/({})'.format(create_time_str, update_time_str, access_time_str))
        except Exception as e:
            print('失败:{}'.format(e))
    else:
        print('路径不存在:{}'.format(path)) 


if __name__ == '__main__':
    cTime = "2023-10-01 12:00:00"  # 创建时间
    mTime = "2023-10-01 12:00:00"  # 修改时间
    aTime = "2023-10-01 12:00:00"  # 访问时间
    #folder = r"d:/backup/db"  # 可以是文件也可以是文件夹
    file = r"d:/backup/db/backup_20231002.sql"  # 可以是文件也可以是文件夹
    #modify_file_create_time(folder, cTime, mTime, aTime)
    modify_file_create_time(file, cTime, None, None)
复制代码

 

posted @   gzhq  阅读(474)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示