_Date_Time_GetFileTime
Возвращает дату и время создания, доступа и изменения файла
#include <Date.au3>
_Date_Time_GetFileTime($hFile)
Параметры
$hFile | Дескриптор файла, для которого должно быть получено время и дата. Дескриптор файла должен быть создан с использованием функции CreateFile и с правами доступа GENERIC_READ. |
Возвращаемое значение
Возвращает массив следующего формата:Примечания
Не все файловое системы могут записывать время создания и доступа, и не все файловые системы записывают их таким образом. Например, в FAT, время создания имеет разрешение в 10 миллисекунд, время записи имеет разрешение в 2 секунды, и время доступа имеет разрешение в 1 день (на самом деле дату доступа). Таким образом, функция GetFileTime может не вернуть информацию о файловом времени, установленном через SetFileTime. В NTFS задержка обновления времени последнего доступа к файлу составляет один час после последнего доступа.См. также
_Date_Time_SetFileTime, $tagFILETIMEПример
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>
#include <Date.au3>
#include <WindowsConstants.au3>
Global $iMemo
_Main()
Func _Main()
Local $hGUI, $hFile, $tFile, $aTime
; Создаёт GUI
$hGUI = GUICreate("Время", 400, 300)
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; Создание тестового файла и установка времени для него
$hFile = _WinAPI_CreateFile(@ScriptDir & "\Test.xyz", 1)
if $hFile = 0 then _WinAPI_ShowError("Не удалось создать файл")
$tFile = _Date_Time_EncodeFileTime(@MON, @MDAY, @YEAR, @HOUR, @MIN, @SEC)
$pFile = DllStructGetPtr($tFile)
_Date_Time_SetFileTime($hFile, $pFile, $pFile, $pFile)
_WinAPI_CloseHandle($hFile)
; Чтение времени файла
$hFile = _WinAPI_CreateFile(@ScriptDir & "\Test.xyz", 2)
if $hFile = 0 then _WinAPI_ShowError("Не удалось открыть файл")
$aTime = _Date_Time_GetFileTime($hFile)
_WinAPI_CloseHandle($hFile)
MemoWrite("Создан .: " & _Date_Time_FileTimeToStr($aTime[0]))
MemoWrite("Последний доступ .: " & _Date_Time_FileTimeToStr($aTime[1]))
MemoWrite("Изменен .: " & _Date_Time_FileTimeToStr($aTime[2]))
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
FileDelete(@ScriptDir & "\Test.xyz")
EndFunc ;==>_Main
; Записывает строку в элемент для заметок
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite