cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 2018
-
1 mars 2007 à 20:00
cs_claudetom
Messages postés115Date d'inscriptionjeudi 11 octobre 2001StatutMembreDernière intervention15 octobre 2012
-
3 mars 2007 à 00:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_claudetom
Messages postés115Date d'inscriptionjeudi 11 octobre 2001StatutMembreDernière intervention15 octobre 2012 3 mars 2007 à 00:37
Bonsoir,
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
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)
www.troxsa.info
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 1 mars 2007 à 20:00
Aie !!!! CreateObject("Scripting.FileSystemObject") c'est finit et à bannir de suite !
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
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