Secondary117
Messages postés44Date d'inscriptionlundi 28 novembre 2011StatutMembreDernière intervention26 décembre 2013
-
Modifié par Secondary117 le 26/12/2013 à 16:44
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
27 déc. 2013 à 19:54
Bonjour,
Je travaille sur un projet de cryptage, qui consiste à crypter et rennomer tous les fichiers de dossiers et de sous dossiers. je me suis chargé de cette partie.
Ce que je veux faire, c'est rennomer tous les dossiers et les sous dossiers d'un chemin spécifié.
J'ai cette méthode (Qui permet de lister les dossiers et les sous dossiers, le chemin le plus "Grand" est en dernier)
Dim folderArray() As String = IO.Directory.GetDirectories(TextBoxPath.Text, "*", IO.SearchOption.AllDirectories)
Et je fais une boucle for each qui permet de rennommer chaque dossier (Disons en y ajoutant _Test a la fin pour ne pas alourdir la tâche)
Voici le code que j'ai fait:
Dim folderArray() As String = IO.Directory.GetDirectories(TextBoxPath.Text, "*", IO.SearchOption.AllDirectories)
For Each folder In folderArray Dim infoParent As New IO.DirectoryInfo(folder) Dim dossierParent = infoParent.Parent.FullName 'DOSSIER PARENT Dim nomDossier = folder.Split(IO.Path.DirectorySeparatorChar).Last() 'NOM DOSSIER FileSystem.Rename(folder, dossierParent & "\" & nomDossier & "_Test") Next
Le problème c'est qui si j'ai un dossier comme ceci:
Rennomer("Dossier Parent\Dossier 1", "Dossier Parent\Dossier 1_Test")
Rennomer("Dossier Parent\Dossier 5", "Dossier Parent\Dossier 5_Test")
Rennomer("Dossier Parent\Dossier 1\Dossier 2", Attends une minute, ce chemin n'existe pas ("Dossier Parent\Dossier 1\Dossier 2") car Il a été changé en "Dossier Parent\Dossier 1_Test\Dossier 2". ERREUR. )
Ceci est mon prblème, j'avais pensé du coup à créer un nouveau tableau en mettant la derniere valeur à la place de la première et vice versa, mais je voulais voir vos éventuelles suggestions ou aide, Je vous remerci d'avoir lu ce post, si vous n'avez pas bien compris, (Car oui, j'explique trop bien :p) je pourrais vous réexpliquer, avec les détails qui vous échappent.
PS: Si il y a un moyen beacoup plus simple faites moi signe :)
Secondary117
Messages postés44Date d'inscriptionlundi 28 novembre 2011StatutMembreDernière intervention26 décembre 20131 26 déc. 2013 à 17:09
Bonjour NHenry, en quoi consiste une méthode récursive ? Si j'ai bien compris c'est de créer une fonction qui s'appelle elle-même, mais je ne vois pas comment je pourrais mettre en place un systeme de liste de dossiers. Merci de ta réponse, je vais me pencher la dessus.
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 26 déc. 2013 à 17:31
En simplifié :
Fonction Renomme(DossierARenommer)
Pour chaque enfant de DossierARenommer Renomme (Enfant) Fin Pour
Bonjour,
je ne comprends personnellement pas la nécessité de procéder ainsi.
Il suffit en effet de copier tout le contenu du dossier de base ("dossier_parent") vers un dossier "dossier_parent_test", dans rien changer des noms des sous-répertoires qu'il contient, pour qu'aucune confusion ne soit possible entre les sous-dossiers de "Dossier-parent" et de "Dossier_parent_test".
Mais je dois être fatigué ... hein ... ou alors trop "corse" (ce que je suis à 50 %) , avec tous les défauts induits, dont le goût de la simplicité.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
26 déc. 2013 à 17:31