wiki:WindowsFileCreationTime

Windowsのファイル作成時刻を変更する

 pywin32 ドキュメント)を使用。

カレントディレクトリ内の全てのファイルの作成時刻を10日進める。

import win32file
import win32con
import pywintypes

delta = 60*60*24*10    # 10 days

for f in os.listdir('.'):
  print f
  fh = win32file.CreateFile(f, win32file.GENERIC_WRITE, win32file.FILE_SHARE_WRITE,
      None, win32con.OPEN_EXISTING, 0, None)
  tt = win32file.GetFileTime(fh)
  t = tt[0]
  t = pywintypes.Time(int(t) + 60*60*9 + delta)
  win32file.SetFileTime(fh, t, t, t)
  win32file.CloseHandle(fh)
  del fh

かなりテキトウ。時差の問題が起きるので、無理矢理直してる。正しいやり方は考え中。

(2009/3/31 - sgk)