Page 1 sur 1
[..] Taille fichiers
Posté : jeu. 03 avr. 2014 13:07
par toma76
Bonjour,
je cherche un moyen de faire un scan fichiers avec dirgetsize ?
mais je n'ai pas forcement le nom des fichiers a scanner, j'ai deja le scan et l'integration dans une listview.
► Afficher le texte
Code : Tout sélectionner
$Liste1 = _FileListToArray("C:")
$Liste_taille = _FileListToArray("")
$Liste2 = _FileListToArray("D:")
_GUICtrlListView_InsertColumn($list_Users1, 0, "C:", 100)
_GUICtrlListView_InsertColumn($list_Users2, 0, "C:", 100)
_GUICtrlListView_InsertColumn($list_Users1, 2, "Taille", 100)
_GUICtrlListView_InsertColumn($list_Users2, 2, "Taille:", 100)
_GUICtrlListView_InsertColumn($list_Users1, 3, "D:", 100)
_GUICtrlListView_InsertColumn($list_Users2, 3, "D:", 100)
_GUICtrlListView_InsertColumn($list_Users1, 4, "Taille:", 100)
_GUICtrlListView_InsertColumn($list_Users2, 4, "Taille:", 100)
For $i = 1 To UBound($Liste1) - 1
_GUICtrlListView_AddItem($list_Users1, $Liste1[$i], 0)
_GUICtrlListView_AddItem($list_Users2, $Liste1[$i], 0)
Next
For $i = 1 To UBound($Liste_taille) - 1
_GUICtrlListView_AddSubItem($list_Users1, $i-1, $Liste_taille[$i], 1)
_GUICtrlListView_AddSubItem($list_Users2, $i-1, $Liste_taille[$i], 1)
Next
For $i = 1 To UBound($Liste2) - 1
_GUICtrlListView_AddSubItem($list_Users1, $i-1, $Liste2[$i], 2)
_GUICtrlListView_AddSubItem($list_Users2, $i-1, $Liste2[$i], 2)
Next
J'aimerais pourvoir scanner la taille des fichiers et les integrer comment faire ???
Cordialement
Re: [..] Taille fichiers
Posté : jeu. 03 avr. 2014 16:18
par Tlem
Bonjour.
Le code ci-dessus met dans le tableau
$Liste1 la liste des fichiers et Dossiers présents dans le disque C:. Pour avoir la taille
des fichiers, il vous suffit de parcourir ce tableau éléments par éléments, de vérifier si l'élément est un fichier ou un dossier (
FileGetAttrib), puis en fonction de récupérer sa taille (
FileGetSize).
Un truc dans ce genre :
► Afficher le texte
Code : Tout sélectionner
#include <File.au3>
#include <Array.au3>
$Liste1 = _FileListToArray("C:", "*", 0, True)
Dim $Liste_1[Ubound($Liste1)][2]
$Liste_1[0][0] = Ubound($Liste1) - 1
For $i = 1 To Ubound($Liste1) - 1
$Liste_1[$i][0] = $Liste1[$i]
If StringInStr(FileGetAttrib($Liste1[$i]), "D") Then ; Test répertoire
$Liste_1[$i][1] = ""
Else
$Liste_1[$i][1] = Round(FileGetSize($Liste1[$i])/1024, 2) & "Kb"
EndIf
Next
_ArrayDisplay($Liste_1