使用Python批量修改文件创建/修改/访问时间

安装轮子

pip install pywin32

代码

from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle
from win32file import GENERIC_READ, GENERIC_WRITE, OPEN_EXISTING
from pywintypes import Time
import time

import sys
import os

def date2unix(human_date: str):
    """日期时间转Unix时间戳

    Arguments:
        human_date {[str]} -- 传入参数格式'20080808 12:24:12'
    """
    pattern = '%Y%m%d %H:%M:%S'
    epoch = Time(time.mktime(time.strptime(human_date, pattern)))
    return epoch


def change_time(file_name: str, new_date: str):
    """修改文件所有时间

    Arguments:
        fileName {str} -- 文件名
        newDate {str} -- 新时间,格式'20080808 12:24:12'
    """
    fh = CreateFile(file_name, GENERIC_READ | GENERIC_WRITE,
                    0, None, OPEN_EXISTING, 0, 0)
    # 创建时间,修改时间,访问时间
    cTime = mTime = aTime = date2unix(new_date)
    SetFileTime(fh, cTime, aTime, mTime)
    CloseHandle(fh)

if __name__ == "__main__":
    fName = 'd:/test.txt'
    new_date = '20280808 12:00:12'
    change_time(fName, new_date)
发布了181 篇原创文章 · 获赞 82 · 访问量 41万+

猜你喜欢

转载自blog.csdn.net/lpwmm/article/details/102827592