allthew3
Messages postés551Date d'inscriptionsamedi 8 janvier 2005StatutMembreDernière intervention12 avril 2008
-
5 mai 2007 à 12:09
allthew3
Messages postés551Date d'inscriptionsamedi 8 janvier 2005StatutMembreDernière intervention12 avril 2008
-
5 mai 2007 à 19:56
Bonjour,
Essentiellement sous Vista, IO.Directory.GetFiles plante sur certains dossiers inaccessibles (system volume information, ou autre) .. y'a-t-il un moyen pour avoir tous les fichiers et ignorer les dossiers inaccessibles ? (au lieu de lever une exception qui stoppe tout ...)
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 5 mai 2007 à 17:35
C'est un soucis connu, moi j'ai été obligé de refaire une fonction getfiles à partir de celle integrée au framework, mais sans utiliser l'option "alldirectories".
Je boucle donc sur TOUTS les repertoires, et j'ai pu rajouter un try...catch sur chaque énumération, de manière à ne passer que les dossier posant soucis. (car un try...catch sur un getfiles avec "alldirectories" arrete l'execution de la fonction). C'est pas hyper propre et je pense que ça doit etre plus long que la fonction de base, mais ça a le merite de marcher.
Je n'ai pas le code sous la main, c'etait dans un cadre pro, mais je bon, c'est plus une question d'idée que de code je pense...
allthew3
Messages postés551Date d'inscriptionsamedi 8 janvier 2005StatutMembreDernière intervention12 avril 20082 5 mai 2007 à 18:15
ah bonne idée : mais penses-tu que IO.Directory.GetDirectories plante lui aussi ??
exemple :
For each path as string in io.directory.getdirectories("dossier", "*.*", alldirectories)
try
For each file as string in io.directory.getfiles(path, "*.*", toponly)
' ...
next
catch ex as exception
exit try
end try
next
(sinon je devrais faire chaque dossier avec GetDirectories en TopOnly, dans un ArrayList ?)
je test et je poste si 1 code marche, hésite pas à me corriger stp
merci pour l'idée !