Renommer un fichier en fonction de son nombre de lignes

Signaler
Messages postés
7
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
18 avril 2008
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour,

J'ai plusieurs fichiers nommés par exemple toto.txt, tata.txt, titi.txt...
Par exemple si toto contient 5 lignes, je voudrai que le nombre de lignes du fichier toto renomme ce dernier en toto-5lignes.txt.

J'ai trouvé le vbs suivant pour m'indiquer le nombre de ligne:
Const ForReading 1, ForWriting 2
Dim oFso, f
Dim ts, nl
  Set oFso = CreateObject("Scripting.FileSystemObject")
  Set f = oFso.OpenTextFile("C:\toto.txt", ForReading)
  ts = f.ReadAll '-- Lit la totalité du fichier
  Wscript.echo f.Line    '-- Récupère le nombre de lignes

Avez-vous une idée?
Merci d'avance et bon week-end

3 réponses

Messages postés
159
Date d'inscription
lundi 18 février 2008
Statut
Membre
Dernière intervention
8 janvier 2010
2
Je me servirai d'un steamreader, ensuite pour chaque ligne j'incrémenterai une variable (int) de 1 a chaque passage.

Pour changer le nom du fichier j'utiliserai un vieux truc de programmeur qui consiste à écrire chaque ligne lu dans un nouveau fichier exemple:
fichier lu                    fichier ecrit
tata.txt                     tatatempo.txt

a la fin du fichier lu, tu supprime tata.txt, tu copie tatatempo.txt dans un nouveau fichier du nom "Tata" & cStr(variableint) & ".txt"

tu supprime tatatempo.txt

@+
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Est-ce important de passer par VBS ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
FSO.MoveFile pour le renomage