VB.Net Compter le nombre de Fichier (Fonction File) [Résolu]

Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
- - Dernière réponse : Kevin.Ory
Messages postés
843
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
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
My.Computer.FileSystem.GetFiles("C:", FileIO.SearchOption.SearchTopLevelOnly, "Fichier*").Count

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 188 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
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")

...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 188 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
0
Merci
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
Commenter la réponse de cs_MagDix
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
0
Merci
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
Commenter la réponse de cs_MagDix
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
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
Commenter la réponse de Renfield
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
5
0
Merci
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"
Commenter la réponse de Kevin.Ory