Renommer dossier apres recherche avec *

Résolu
pykerdreux Messages postés 2 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 16 janvier 2007 - 15 janv. 2007 à 20:11
pykerdreux Messages postés 2 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 16 janvier 2007 - 16 janv. 2007 à 10:27
Bonjour,


j'ai beau chercher, je ne trouve pas donc je crée une nouvelle question...


Voila mon probleme :

j'ai un répertoire qui contient plusieurs centaines de dossier avec, entre autre le nom des étudiants.

exemple :

D:\kb210-NomEtudiant1-01234534\

D:\kb210-NomEtudiant2-01234534\


etc...


Je souhaiterai renommer chaque dossier pour y faire apparaitre le groupe :

exemple :

D:\groupe1 - NomEtudiant1\

D:\groupe 2 - NomEtudiant2\




j'ai bien évidement une table de
correspondance avec nom et groupe de chaque étudiant. Je me disais que
ca allait etre assez simple.. une ptite boucle pour parcourir la table
et a chaque fois une ptite fonction pour renommer le dossier... et bah
non !

Je n'arrive pas faire la recherche sur une partie de nom puis a renommer le dossier trouver.


1er essai :

j'arrive sans probleme a faire un code qui teste si le dossier
*NomEtudiant1* existe. Il retrouve mon dossier mais je ne peux le
renommer ensuite (en tout cas pas avec la méthode Name)


2eme essai :

je me lance dans la méthode FSO pour manipuler les dossier. mais dans
ce cas, je n'arrive pas a instancer mon dossier. Il semble que les * et
les ? ne soient pas autorisé avec la méthode FSO ? Dans ce cas, je
n'arrive pas a trouver le dossier qui correspond au nom d'étudiant.


merci de m'aider SVP !!

5 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 janv. 2007 à 09:16
Salut,
Je ne sais pas si c'est exactement ce que tu cherches à fair emais essaie ceci.

NOTE: ATTENTION Ce code ne boucle pas au cas où plusieurs répertoire contiennent le nom de l'étudiant)
    Dim Repertoire As String 
    Dim RepCher As String 
    Dim Etudiant As String 
    Dim NouveauNom As String 

    'nom de l'étudiant recherché
    Etudiant =  "julien" 
    'repertoire  "Pere"
    Repertoire = "C:\Test" 
    'Nouveau nom de "base" a donné
    NouveauNom = "Repertoire groupe1" 
    'Recherche le repertoire
    RepCher =  Dir (Repertoire & "*" & Etudiant & "*", vbDirectory) 
    If RepCher <> "" Then Name Repertoire & RepCher As Repertoire & NouveauNom & Etudiant 

@+: =89254 Ju£i?n
Pensez: Réponse acceptée
3
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 janv. 2007 à 20:17
Violent Ken
Salut, tu es vraiment en .Net ?

Sinon, essaye avec l'API MoveFile (qui permet de renommer).

Voilà un la délcaration POUR DU VB6 (à adapter pour du .Net).

Declare Function MoveFile Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long
@+
0
Utilisateur anonyme
15 janv. 2007 à 20:41
Salut,

Si t'est bien en dotnet, utilise la librarie System.IO





__________
Kenji
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 janv. 2007 à 07:32
Pas besoin d'API, violent_ken....

Name "C:\MonRep" As "C:\MonRepRenommé"

pykerdreux,  il suffit de parcourir ta table, et le tour est joué...

For i = 0 To Ubound ( MaTab)
    Name MaTab(i).RepSource As MaTab(i).RepCible
Next i

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

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

Posez votre question
pykerdreux Messages postés 2 Date d'inscription samedi 4 février 2006 Statut Membre Dernière intervention 16 janvier 2007
16 janv. 2007 à 10:27
merci beaucoup pour vos réponse et la rapidité de celles ci !

La solution de [auteurdetail.aspx?ID=89254 jrivet]
est la plus simple donc je l'ai testé en premier, et elle fonctionne par faitement.


encore merci !


Pyk
0
Rejoignez-nous