Besoin d'aide ds mon code...

bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007 - 20 avril 2006 à 14:59
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 24 avril 2006 à 12:29
Bonjour,

Voici mon code. Je souhaite renommer tout les fichiers de mon répertoire _.txt en .txt mais là je ne vois pas le soucis.
Pouvez vous m'aider svp? (cest en vbnet)

Merci d'avance.

For
Each foundFile
As
String
In
My.Computer.FileSystem.GetFiles(
"C:\test", _


FileIO.SearchOption.SearchTopLevelOnly,
"*_.txt")



Dim foundFileInfo
As
New System.IO.FileInfo(foundFile)



My.Computer.FileSystem.RenameFile(foundFile,
"C:\test\_*.txt" & foundFileInfo.Name)



Next

7 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
20 avril 2006 à 15:28
Dans ta boucle For, place l'instruction suivante :



MessageBox.Show("C:\test\_*.txt" & foundFileInfo.Name)



Et tu verras que tes nouveaux noms de
fichiers n'ont pas du tout le bon format. En l'occurence, je crois que
le signe * est interdit dans un nom de fichier.






Manu
0
bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007
20 avril 2006 à 17:07
non mais le * c'est pour prendre tout les fichiers du dossiers qui ont l'extension (txt)

là il me dit

L'argument 'newName' doit être un nom et non un chemin d'accès relatif ou absolu : 'C:\test\*.test_.txt'.
Nom du paramètre : newName

tu comprends le soucis?
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
20 avril 2006 à 18:22
Hou que c'est moche le .NET.

Pardon.

Je dirais qu'il y a quelques soucis d'algo...

D'abord, tu dois créer un objet qui contient la liste des différents fichiers correspondant.
Ensuite, tu parcours cette liste avec un for each
A chaque boucle tu récupère un nom de fichier, et tu le renomme.

Pour le renommer, tu vas certainement devoir remplacer les 5 derniers caractères par les quatres nouveaux.

Mais je crois que le DOS permet de faire des renommage avec des jockers (* et le reste).
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
21 avril 2006 à 06:42
Bonjour,

'Exemple pour renommer les fichiers "name_.txt" en "name.txt"
Dim Fso, Fichier, Dossier
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder("d:\test")
For Each Fichier In Dossier.Files
If Right(Fichier.Name, 5) = "_.txt" Then
Fichier.Name = Replace(Fichier.Name, "_.txt",".txt")
End If
Next
Set Dossier = Nothing
Set Fso = Nothing

jean-marc
0

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

Posez votre question
bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007
21 avril 2006 à 09:48
Bonjour Jean Marc,

J'ai un soucis avec ta ligne :

If Right(Fichier.Name, 5) =
"_.txt"

Then

en effet je suis sous visual studio (vbnet :) et le "Right" est souligné, donc il ne le reconnait pas en temps que tel.
Peux tu m'expliquer? Y a t'il une autre soluction?

Laurent VBn'ewbie

Merci encore.
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
21 avril 2006 à 23:08
Salut bimbo777,

il me semble (pour continuer à utiliser ton style), qu'en DOS, on aurait fait :

ren tonchemin/*_.txt *.txt

d'où, en VB6 :

Shell "ren tonchemin/*_.txt *.txt"

à toi d'adapter en .Net.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
24 avril 2006 à 12:29
Bonjour,

'Extraction de chaine de caractères à partir d'une occurence ("Separator")

MyString = "toto_.txt"

MySeparator = "_." 'occurence à rechercher

MyArray = Split(MyString, MySeparator, -1, 1) 'creation du tableau

For i = 0 to UBound(MyArray) 'visu de chaque item du tableau
Resultat = Resultat &vbCrLf& " item=" & i & " " & MyArray(i)
Next

MsgBox Resultat

jean-marc
0
Rejoignez-nous