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
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
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
1
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
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
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
71
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