[Batch] Remplacement de chaînes de caractères

Résolu/Fermé
Eliness - 10 juil. 2007 à 11:39
 lediabolo - 9 janv. 2008 à 14:34
Bonjour !

Je programme un petit exécutable qui me permet de fusionner tous les fichiers du dossier dans lequel il se trouve. Jusque là, pas de soucis, un petit
for %%a in (*.txt) do type %%a >> fichier_final
fonctionne parfaitement.

J'aimerais ajouter une autre fonctionnalité.

Les fichiers .txt originels sont de la forme suivante :

Fichier 1.txt :

blablabla
blablabla
TITRE = titre1
blablablabla
TITRE = autretitre2


Fichier 2.txt :
blablabla
TITRE = encoreunautretitre45
blablablabla
blablablabla
blablablabla
TITRE = etunautretitre



Et j'aimerais, pour le fichier final post-concaténation, avoir ceci :

blablabla
blablabla
TITRE = fichier1titre1
blablablabla
TITRE = fichier1autretitre2
blablabla
TITRE = fichier2encoreunautretitre45
blablablabla
blablablabla
blablablabla
TITRE = fichier2etunautretitre


Le souci... Je n'ai AUCUNE idée de comment faire ceci en batch (et non en bash, ah si seulement l'on tournait sous Linux...)
Le tout doit tenir en un .dat, il faudrait que l'utilisateur clique dessus, et magique, cela lui génère un fichier_final regroupant tous les txt, et avec la modfification dans les titres.

Quelqu'un aurait-il une idée de comment, avant la concaténation, rechercher dans chaque fichier txt la ligne titre, et y ajouter fichier+numéro ?

Vous feriez une grande heureuse si vous pouviez me mettre sur la voie, cela fait des heures que je chertche à tort et à travers sans rien trouver ...

Merci d'avance =)
A voir également:

3 réponses

pour concaténer 2 fichiers texte en un seul. Il suffit de faire :

COPY FICHIER1.TXT+FICHIER2.TXT FICHIER3.TXT

La concaténation sera dans FICHIER3.TXT

a+
1