Savoir si un fichier est un répertoire

Résolu
NarqoArts Messages postés 23 Date d'inscription lundi 18 avril 2016 Statut Membre Dernière intervention 25 avril 2016 - 25 avril 2016 à 14:05
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 25 avril 2016 à 16:51
Bonjour,
J'espère que vous allez bien ! :)
Alors voilà j'ai un petit problème .
Je conçois un programme qui vas me permettre de corriger le contenue d'un dossier en fonction du type de fichier stocker à l'intérieur. Pour cela j'ai utilisé les regex et je suis parvenue à interdire tout type de fichiers sauf 3 d'entres eux.
Pour l'instant tout est niquel mais je me suis demandé , en voulant améliorer mon programme , si c'était possible d'utiliser une regex pour interdire les sous dossiers ? :)

Mon programme se présente de la forme suivante :




Une TextBox : On insère le chemin du dossier à corriger
Un Bouton : Qui à l'aide de regex "corrige"
Un Bouton : Qui supprime le dossier
Un Bouton : Qui archive le dossier
Une ListBox1 : qui affiche tout les fichiers qui sont validé par la regex
Une ListBox2 : Qui affiche tout les fichiers qui ne sont pas validé par la regex

3 réponses

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
25 avril 2016 à 14:54
Planter tout un décors n'est pas toujours utile.
Ce qu'il te faudrait c'est aller à l'essentiel.
Quelque part que ton chemin, vienne d'openfildialog, ou d'un bouton, d'un textbox on s'en moque.
Ce qui pourrait importer, c'est de savoir si on a un chemin tout d'un coup ou s'il faut le composer.

Les regex sont des outils de texte, valider un chemin de dossier, le nom d'un fichier, une extension, OK
Mais
de corriger le contenue d'un dossier en fonction du type de fichier stocker à l'intérieur.
ça ne veut pas dire grand chose.
Ce qui serait explicite, c'est:
"mon dossier contient des relevés de compte de la banque truc pour 2016, je voudrais qu'il s'appelle: 2016 relevés Truc"
ou alors
"il contient des xls, doc et pdf de mars 2016, et je voudrais qu'il s'appelle Mes Rapports 2016"
Ou je ne sais quoi d'autre

0
NarqoArts Messages postés 23 Date d'inscription lundi 18 avril 2016 Statut Membre Dernière intervention 25 avril 2016
25 avril 2016 à 15:06
Re,
Mon dossier contenient des fichiers qui s'apelle genre : 52535_ZONEDECHAMGEMENT_BRETELLES et je veux que se soit que des fichiers, pas des sous dossiers.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié par vb95 le 25/04/2016 à 15:37
Bonjour
J'ose espérer que tu saches faire la différence entre un répertoire ( que tu appelles dossier) et un fichier !
Un répertoire n'est jamais qu'un fichier spécial qui contient des fichiers et des répertoires ( appelés souvent sous-répertoires dans ce cas)
Maintenant le fait qu'un sous-dossier comme tu dis devienne un fichier sache que pour Windows c'est déjà le cas ! Et à moins que je me trompe un répertoire reste un répertoire ( c'est un conteneur )
Quant à appliquer un Regex sur les sous-dossiers je ne vois aucune raison qui fasse que ce soit impossible : c'est une chaine de caractères comme les noms de fichiers !
Si tu expliquais clairement ce que tu veux faire ce serait bien plus simple

Salut à Whismeril en même temps
0
NarqoArts Messages postés 23 Date d'inscription lundi 18 avril 2016 Statut Membre Dernière intervention 25 avril 2016
25 avril 2016 à 15:39
Arrêter de me prendre pour un imbécile s'il vous plaît , je sais et connais la différence entre un répertoire et un fichier .
Ce que j'aimerais pouvoir faire justement , c'est créer une regex qui elle fasse la différence entre un répertoire et un fichier .
J'aimerais que ma regex détecte un répertoire si il y a n'a un.
Merci
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > NarqoArts Messages postés 23 Date d'inscription lundi 18 avril 2016 Statut Membre Dernière intervention 25 avril 2016
Modifié par vb95 le 25/04/2016 à 15:50
1) Je ne t'ai jamais pris pour un imbécile mais cette phrase "je veux que se soit que des fichiers, pas des sous dossiers." me laisse perplexe !
2) Pour savoir si un fichier est un répertoire ou non une recherche sur le Net me donne la solution très facilement ( rien à voir avec les Regex ) : https://msdn.microsoft.com/fr-fr/library/system.io.directory.exists%28v=vs.110%29.aspx
0
NarqoArts Messages postés 23 Date d'inscription lundi 18 avril 2016 Statut Membre Dernière intervention 25 avril 2016
25 avril 2016 à 15:53
Merci ! :)
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > NarqoArts Messages postés 23 Date d'inscription lundi 18 avril 2016 Statut Membre Dernière intervention 25 avril 2016
Modifié par vb95 le 25/04/2016 à 16:13
De rien !
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
Modifié par Whismeril le 25/04/2016 à 16:52
@NarqoArts

1) Je ne t'ai jamais pris pour un imbécile mais cette phrase "je veux que se soit que des fichiers, pas des sous dossiers." me laisse perplexe !


Franchement quand j'ai lu ta réponse, je me suis fait le même genre de réflexion que VB95 (que je salue à mon tour).

Ici, comme pour tes présentes questions, essaye de bien cerner ton besoin, pour exprimer correctement ta question.

On en est à 7 réponses ou commentaires (8 avec celui-là) alors que correctement exprimé dès le début je t'aurais donné le même lien que VB ainsi que les deux suivants
https://msdn.microsoft.com/fr-fr/library/system.io.directory.getdirectories(v=vs.110).aspx
et
https://msdn.microsoft.com/fr-fr/library/system.io.directory.getfiles(v=vs.110).aspx

Qui peuvent aussi répondre à ton besoin de façon différente.

Et comme je te l'ai dit dans une autre discussion, si tu commençais par apprendre les bases de VB.Net tu perdrais moins de temps au final, car pour l'instant chacune de tes questions entre dans le cadre des bases.
http://plasserre.developpez.com/cours/vb-net/

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
Rejoignez-nous