Dim SRep As IO.DirectoryInfo
Dim RepFileEnum As IEnumerator = New IO.DirectoryInfo(SelectedRep).GetFileSystemInfos.GetEnumerator()
RepFileEnum.Reset()
Dim RF As Object
While RepFileEnum.MoveNext()
RF = RepFileEnum.Current()
If RF.GetType.FullName = "System.IO.DirectoryInfo" Then
SRep = New IO.DirectoryInfo(RF.fullname)
For Each file As IO.FileInfo In SRep.GetFiles
tailles += file.Length
Next
ElseIf RF.GetType.FullName = "System.IO.FileInfo" Then
tailles += RF.Length
End If
End While
Salut
Avec VB 2005 en une ligne on peux rechercher tout les fichiers et dossiers
malheuresement ce type de fonction ne passe pas les erreurs et gere des exeptions a l'encontre du dossier des points de restauration ...
Dim FolderAndFile() As String = Directory.GetFiles("c:", "*.*", SearchOption.AllDirectories)
3 mars 2007 à 00:37
A la place de FSO, ceci est bien :
Dim SRep As IO.DirectoryInfo
Dim RepFileEnum As IEnumerator = New IO.DirectoryInfo(SelectedRep).GetFileSystemInfos.GetEnumerator()
RepFileEnum.Reset()
Dim RF As Object
While RepFileEnum.MoveNext()
RF = RepFileEnum.Current()
If RF.GetType.FullName = "System.IO.DirectoryInfo" Then
SRep = New IO.DirectoryInfo(RF.fullname)
For Each file As IO.FileInfo In SRep.GetFiles
tailles += file.Length
Next
ElseIf RF.GetType.FullName = "System.IO.FileInfo" Then
tailles += RF.Length
End If
End While
2 mars 2007 à 22:49
Avec VB 2005 en une ligne on peux rechercher tout les fichiers et dossiers
malheuresement ce type de fonction ne passe pas les erreurs et gere des exeptions a l'encontre du dossier des points de restauration ...
Dim FolderAndFile() As String = Directory.GetFiles("c:", "*.*", SearchOption.AllDirectories)
www.troxsa.info
1 mars 2007 à 20:00
FSO c'est bon en vbs uniquement !!!!
+ Erreurs non géré lors d'accès aux dossiers ou l'accès est interdit (comme le dossier des points restaurations système sous xp)
Conseils => Sous vb2005 utiliser plutot les méthodes fournits dans la classe My.Computer.FileSystem ou équivalent dans la classe System.IO.Directory