Obtient, dans un tableau, les informations de fichier pour le fichier spécifié
#include <WinAPIFiles.au3>
_WinAPI_GetFileInformationByHandle ( $hFile )
$hFile | Handle du fichier qui contient les informations à récupérer. |
Succès: | Retourne le tableau contenant les informations suivantes: [0] - Les attributs de fichier (FILE_ATTRIBUTE_*). [1] - Structure $tagFILETIME qui spécifie quand un fichier ou un répertoire a été créé. [2] - Structure $tagFILETIME qui spécifie la dernière fois qu'un fichier a été lu ou écrit. [3] - Structure $tagFILETIME qui spécifie la dernière fois qu'un fichier a été écrit. [4] - Le numéro de série du volume qui contient le fichier. [5] - La taille du fichier. [6] - Le nombre de liens vers ce fichier. [7] - L'identifiant unique qui est associé au fichier. |
Échec: | Définit @error <> 0, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur. |
Consultez GetFileInformationByHandle dans la librairie MSDN.
#include <Date.au3> #include <WinAPIFiles.au3> #include <WinAPIHObj.au3> Local $hFile = _WinAPI_CreateFile(@ScriptFullPath, 2, 0, 6) Local $aInfo = _WinAPI_GetFileInformationByHandle($hFile) If IsArray($aInfo) Then For $i = 1 To 3 If IsDllStruct($aInfo[$i]) Then Local $tFILETIME = _Date_Time_FileTimeToLocalFileTime(DllStructGetPtr($aInfo[$i])) $aInfo[$i] = _Date_Time_FileTimeToSystemTime(DllStructGetPtr($tFILETIME)) $aInfo[$i] = _Date_Time_SystemTimeToDateTimeStr($aInfo[$i]) Else $aInfo[$i] = 'Inconnu' EndIf Next ConsoleWrite('Chemin: ' & _WinAPI_GetFinalPathNameByHandle($hFile) & @CRLF) ConsoleWrite('Attributs: 0x' & Hex($aInfo[0]) & @CRLF) ConsoleWrite('Crée le: ' & $aInfo[1] & @CRLF) ConsoleWrite('Dernier accès: ' & $aInfo[2] & @CRLF) ConsoleWrite('Modifié le: ' & $aInfo[3] & @CRLF) ConsoleWrite('N° Volume: ' & $aInfo[4] & @CRLF) ConsoleWrite('Taille: ' & $aInfo[5] & @CRLF) ConsoleWrite('Liens: ' & $aInfo[6] & @CRLF) ConsoleWrite('ID: ' & $aInfo[7] & @CRLF) EndIf _WinAPI_CloseHandle($hFile)