ファイルのタイムスタンプを変更(T) <TOP>
ファイルのタイムスタンプを変更します。
TouchFileTimes 指定されたファイルが最後に変更されたことを示す日付と時刻を更新
CreateFile 指定したファイルをオープンし、デバイスハンドルを返す
CloseHandle オープンされているオブジェクトハンドルをクローズ
Windows95/98には対応していません。
変更後の確認
'================================================================ '= タイムスタンプの書き換え '= Windows 95/98:非対応
'= (TouchFileTimes.bas) '================================================================ #define GENERIC_WRITE &H40000000 '書き込みモード #define OPEN_EXISTING 3 'ファイルをオープンする(存在しない場合失敗) #define FILE_SHARE_READ &H1 '後続のオープン操作で読み取りアクセスが要求された場合、そのオープンを許可 #define FILE_SHARE_WRITE &H2 '後続のオープン操作で書き込みアクセスが要求された場合、そのオープンを許可 ' 指定されたファイルが最後に変更されたことを示す日付と時刻を更新 Declare Function Api_TouchFileTimes& Lib "imagehlp" Alias "TouchFileTimes" (ByVal FileHandle&, ByRef pSystemTime As Any) ' 指定したファイルをオープンし、デバイスハンドルを返す Declare Function Api_CreateFile& Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName$, ByVal dwDesiredAccess&, ByVal dwShareMode&, lpSecurityAttributes As Any, ByVal dwCreationDisposition&, ByVal dwFlagsAndAttributes&, ByVal hTemplateFile&) ' オープンされているオブジェクトハンドルをクローズ Declare Function Api_CloseHandle& Lib "kernel32" Alias "CloseHandle" (ByVal hObject&) Var sFile as string Var lHandle As Long sFile = "c:\test\myfile.txt" lHandle = Api_CreateFile(sFile, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0, OPEN_EXISTING, 0, 0) If Api_TouchFileTimes(lHandle, ByVal 0) = 0 Then Print "ファイルのタイムスタンプ変更は失敗しました!" Else Print "ファイルのタイムスタンプを変更しました!" End If Ret = Api_CloseHandle(hWnd) Stop End