VB.Net Compter le nombre de Fichier (Fonction File)

Résolu
cs_MagDix Messages postés 532 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 27 mai 2008 à 14:10
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 - 27 mai 2008 à 16:09
Salut.


Je cherche un moyen de compter le nombre de fichier que le nom de fichier commence par une valeur défini.


Exemple je cherche à savoir combien de fichier comment par le mot "Fichier" dans un répertoire donné


Comment est-il possible de faire cela, c'est possible ???


J'ai regarder avec la fonction File mais je ne trouve rien qui fait mon bonheur..


Si c'est possible, si quelqu'un peut me dionner un coup de main


Merci

6 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
27 mai 2008 à 14:52
My.Computer.FileSystem.GetFiles("C:", FileIO.SearchOption.SearchTopLevelOnly, "Fichier*").Count
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
27 mai 2008 à 15:30
je piges pas ou tu bloques....

tu recodes ça ainsi :

Public Function CompterFichiers(Byref vsFolder As String, byref vsPattern As String) As Integer
Return My.Computer.FileSystem.GetFiles(vsFolder, FileIO.SearchOption.SearchTopLevelOnly, vsPattern).Count
End Function

et tu es libre de faire ce que tu veux...

a = CompterFichiers("C:", "*.txt")
b = CompterFichiers("C:\Logs", "log*.txt")
c = CompterFichiers("C:\Logs", "log 2008-05-*.txt")

...
3
cs_MagDix Messages postés 532 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
27 mai 2008 à 15:22
Merci Renfield

Mais j'ai une petite question car ca ne fonctionne pas...
La variable "Fichier*" ne vaut rien.


Je m'explique...
Je ne chercher pas toujours un nomde fichier qui débutera par le mot Fichier


Je veux mettre une variable qui sera modifier


Dim Fichier as String
...


Fichier = Fichier22


Comment faire pour compter le nombre de fichier.* qui comment par Fichier22
Bref connaître le nombre de fichier qui est comme la variable Fichier


C'est clair ????


merci de ton aide
0
cs_MagDix Messages postés 532 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
27 mai 2008 à 15:51
Re... et bien voilà


 



Dim



test

As



Integer
Dim Repertoire AsString = "C:\Fichier\Test"
Dim Fichier
As
String =
"Fichier22" ' Cette ligne est à titre d'exemple


test =




My
.Computer.FileSystem.GetFiles(Repertoire, FileIO.SearchOption.SearchTopLevelOnly,



"Fichier*"




).
Count

Donc test = 0 et je devrais avoir 2 car j'ai 2 fichier qui débute par Fichier22

Ce que je ne pige pas c'est comment faire pour que Fichier valle quelque chose car il est entre guillemet et donc ca ne fonctionne pas..

Tu comprends... ???
merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
27 mai 2008 à 16:05
tu confonds la chaine de caractères "Fichier"
et la variable nommée Fichier (qui dans ton contient la chaine "Fichier22")

fais une concaténation de ta variable :


test = CompterFichiers(Repertoire, Fichier & "*")

ou bien

test = My .Computer.FileSystem.GetFiles(Repertoire, FileIO.SearchOption.SearchTopLevelOnly, Fichier & "*" ). Count

si tu ne souhaites pas utiliser la fonction que je t'ai filé plus haut
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
27 mai 2008 à 16:09
Salut,

Du texte en "" dans le code est une valeur texte fixe, et non une variable. Relis ce que as écris Renfield:

Return My.Computer.FileSystem.GetFiles(vsFolder, FileIO.SearchOption.SearchTopLevelOnly, vsPattern).Count

Donc ton "Fichier" il ne faut pas le mettre entre "":

Dim Repertoire As String = "C:\Fichier\Test"
DimFichier
As String =
"Fichier22*"
My.Computer.FileSystem.GetFiles(Repertoire, FileIO.SearchOption.SearchTopLevelOnly, 
Fichier).Count

Il faut aussi ajouter une * après "Fichier22"
0
Rejoignez-nous