J'ai pourtant cherché mais...

Résolu
B3nJ Messages postés 3 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 24 avril 2007 - 24 avril 2007 à 09:29
B3nJ Messages postés 3 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 24 avril 2007 - 24 avril 2007 à 10:08
Bonjour,

je suis totalement débutant en vbs, et je cherchais une solution rapide, même si non optimisée, pour renomer des fichiers.
J'ai donc, à l'aide de ce site, créé le petit script suivant:

Set FSys = CreateObject("Scripting.FileSystemObject")



Set MonFic = FSys.GetFile("C:\PRNSSBTB.txt")
MonFic.Copy "C:\CF1-CF1.txt", True
MonFic.delete




Comme vous le voyez, le but est de trouver un fichier texte à la racine, le copier sous un nouveau nom, et supprimer le premier. Jusque là tout va bien, à ceci près que je ne connais pas le nom exact de mon fichier. Il s'appelle "PRNSSBTB_[partie variable].txt" et la commande "GetFile("C:\PRNSSBTB_*.txt")" ne semble pas fonctionner.
Merci d'avance pour votre aide

9 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 avril 2007 à 10:00
Re,
Essaies ceci:
Dim FSys, MonFic, TonRepertoire
   Set FSys = CreateObject("Scripting.FileSystemObject")
   TonRepertoire = "C:\Test"
   For Each MonFic In FSys.GetFolder(TonRepertoire).Files
       If InStr(1, MonFic.Name, "PRNSSBTB") Then MonFic.Name = "CF1-CF1.txt"
       If InStr(1, MonFic.Name, "PRNSSBTA") Then MonFic.Name = "CR1-CR1.txt"
   Next , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
24 avril 2007 à 09:34
Salut,

Regarde du côté de : Name...c'est rapide

A+
Exploreur

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
24 avril 2007 à 09:38
Salut,

Exemple un fichier toto.txt que tu veux renomé en tata.txt

Name "C:\toto.txt" As "C:\tata.txt"

A+
Exploreur

 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 avril 2007 à 09:40
Salut,
>[auteurdetail.aspx?ID=17710 Exploreur] : Pas de Name ToTo.txt AS Tata.Txt en VBS
En ravanche La propriété Name de l'objet File est en écriture Donc tu peux faire directement
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.GetFile("C:\PRNSSBTB.txt")
MonFic.Name =  "CF1-CF1.txt"

Ce que je ne comprends pas c'est ta deuxieme partie de question (partie fixe)
si j'ai bien compris tu as plusieur fichiers tu type PRNSSBTB_
Comment veux tu les renommer?
@+: Ju£i?n
Pensez: Réponse acceptée
0

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

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 avril 2007 à 09:41
Re,
>[auteurdetail.aspx?ID=17710 Exploreur] Crois moi si tu veux mais ton dernier post n'était pas encore là (on a fait le même exemple.... )
les grands esprits se rencontre (ou ceux en manquent d'inspiration pour les exemples )
@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
24 avril 2007 à 09:48
Salut Jrivet,

Oui, je te crois.....Mais j'ai rien compris à ton dernier post justement... Mon esprit en ce moment est un peu fatigué

A+
Exploreur

 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 avril 2007 à 09:49
Re,
Il travaille en VBScript et en VBScript tu ne peux pas utiliser Name .. AS ...
Mais au vu de ce qu'il a déjà fait il peut utiliser la propriété Name De L'objet File
=> plus clair ou pas?

@+: Ju£i?n
Pensez: Réponse acceptée
0
B3nJ Messages postés 3 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 24 avril 2007
24 avril 2007 à 09:54
Tout d'abord, merci pour la rapidité de vos réponses

En fait, tous les mois sont générés automatiquement des fichiers, et ils sont placés dans un répertoire précis. Le nom de ces fichiers est variable, mais il y aura toujours un "PRNSSBTB_[quelquechose].txt".
Le fichier qui commence par "PRNSSBTB" doit être renomé en CF1-CF1.txt, et je sais qu'il n'y en aura qu'un seul.
Il y aura également un et un seul "PRNSSBTA_[quelquechose].txt" qu'il faudra que je renome en CR1-CR1.txt mais ça reviendra à copier la partie précédente du code en changeant juste le nom.

Le problème est donc que je connais le début du nom de chacun de ces fichiers générés, mais pas la partie [quelquechose] qui peut ressembler à n'importe quoi.

Il faudrait donc que ce scrit soit capable de renomer un "PRNSSBTB_D0300530.txt" en "CF1-CF1.txt" sans connaître la partie "D0300530" du nom, qui sera différente le mois prochain
0
B3nJ Messages postés 3 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 24 avril 2007
24 avril 2007 à 10:08
ça fonctionne parfaitement, merci beaucoup
0
Rejoignez-nous