1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
sDir contient le répertoire racine de ma structure
<...> divers traitements (pas trop lourds: création de chaine gardant diverses infos dont taille et nb fichiers de chaque répertoire,
rangement de la chaine en tableaux pour tri, etc...)
Try
For Each di1 As String In My.Computer.FileSystem.GetDirectories(sDir, FileIO.SearchOption.SearchTopLevelOnly) ' Niveau 1 (0-9...Z)
TaiD1 = 0 : NbED1 = 0
For Each di2 As String In My.Computer.FileSystem.GetDirectories(di1, FileIO.SearchOption.SearchTopLevelOnly) ' Niveau 2 (1_\...)
TaiD2 = 0 : NbED2 = 0
For Each di3 As String In My.Computer.FileSystem.GetDirectories(di2, FileIO.SearchOption.SearchTopLevelOnly) ' Niveau 3 (2_\...)
TaiD3 = 0 : NbED3 = 0
Dim dF3 As Decimal = 0
For Each infoF3 In My.Computer.FileSystem.GetDirectoryInfo(di3).GetFiles ' Niveau 3'(3_\files)
dF3 += (infoF3.Length / 1024)
NbED3 += 1
Next
TaiD3 += Decimal.Round(dF3, 0, MidpointRounding.AwayFromZero)
<....>
TaiD2 += TaiD3
NbED2 += NbED3
Next
For Each fi2 As String In My.Computer.FileSystem.GetFiles(di2, FileIO.SearchOption.SearchTopLevelOnly, "*.pdf", "*.avi") ' Niveau 3 (2_\...)
TaiF2 = Decimal.Round((My.Computer.FileSystem.GetFileInfo(fi2).Length / 1024), 0, MidpointRounding.AwayFromZero)
TaiD2 += TaiF2
NbED2 += 1
Next
Dim dF2 As Decimal = 0
For Each fi2 As String In My.Computer.FileSystem.GetFiles(di2, FileIO.SearchOption.SearchTopLevelOnly, "*.bmp", "*.jp*", "*.png", "*.*if") ' Niveau 3
dF2 += (My.Computer.FileSystem.GetFileInfo(fi2).Length / 1024)
NbED2 += 1
Next
TaiD2 += Decimal.Round(dF2, 0, MidpointRounding.AwayFromZero)
<....>
TaiD1 += TaiD2
NbED1 += NbED2
Next
Next
Catch ex As Exception
MsgBox("Pb CreateFile:" + vbCrLf + ex.Message)
End Try |
Partager