我正在尝试使用 python 更改 Windows 系统的目录创建时间戳。我有一个从另一个驱动器复制过来的目录,并且没有保留目录创建时间。这是我希望做的,
第 1 步:使用以下代码读取源目录列表及其创建时间,
import os
source_dir_path = r'd:\data'
list_of_directories = os.listdir(source_dir_path)
creation_times = {}
for d in list_of_directories:
creation_times[d] = os.path.getctime(os.path.join(source_dir_path, d))
第 2 步:遍历目录列表并设置目录创建时间。为此,我依赖 Python For Windows Extensions。代码如下所示,
from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle
from win32file import GENERIC_READ, GENERIC_WRITE, OPEN_EXISTING
from pywintypes import Time
destination_dir_path = r'f:\data'
#list_of_directories = os.listdir(source_dir_path)
for d in creation_times:
fh = CreateFile(os.path.join(destination_dir_path,d), 0, 0, None, OPEN_EXISTING, 0,0)
SetFileTime(fh, creation_times[d])
我在 CreateFile 行收到“拒绝访问”。我不确定这是否是设置目录创建时间的有效方法。这是设置目录创建时间的正确方法吗