Remplacer du texte dans un fichier

Remplacer du texte dans un fichier - Shell/Batch - Programmation

Marsh Posté le 23-04-2008 à 16:27:02    

Bonjour à tous,
 
N'ayant que très peu de connaissances dans ce domaine, j'aurais besoin de votre aide pour parfaire un script en batch.
 
La partie qui me pose problème doit automatiser le remplacement de certains mots présents dans un fichier texte.
 
Contexte
Le fichier INFORMATIONS.TXT contient par exemple les mots PRENOM, NOM, FONCTION, etc...
Mon fichier SCRIPT.BAT me questionne sur mon prénom, nom, etc. et stoque ces informations dans des variables que j'ai justement appelées PRENOM, NOM, FONCTION...
Jusque là pas de soucis, mais maintenant que j'aimerais dire à mon script qu'il doit utiliser ces variables pour mettre à jour le fichier INFORMATIONS.TXT, c'est une autre histoire !
 
Je pense qu'il faut utiliser une commande FOR /F mais j'ai beau lire de la documentation à ce sujet, je n'y comprends rien :'(
 
Si quelqu'un pouvait m'aider à avancer, ce serait super sympa. Merci d'avance !

Reply

Marsh Posté le 23-04-2008 à 16:27:02   

Reply

Marsh Posté le 23-04-2008 à 18:14:05    

Est-ce que les informations contenues dans INFORMATIONS.TXT sont secrètes ?  
 
Si non, tu peux demander à ton fichier SCRIPT.BAT de recréer complètement le fichier TXT sans devoir utiliser un remplacement de variable...  (avec la commande echo suivi du pipe script : " > "
 
Par exemple si ton TXT contient :
"Voici les informations de monsieur NOM, PRENOM qui est actuellement FONCTION dans notre entreprise".
 
Eh bien dans ton fichier bat, tu fais un :  
echo ""Voici les informations de monsieur %1, %2 qui est actuellement %3 dans notre entreprise" > INFORMATIONS.TXT
 
en utilisant tout subterfuge de variable adéquat à la place des % dans cet exemple :)

Reply

Marsh Posté le 23-04-2008 à 19:59:28    

Désespérant de trouver une solution, j'étais justement en train de faire quelque chose dans ce genre là, à savoir recréer carrément le fichier TXT.
 
C'est une bonne alternative mais il faut savoir que le fichier TXT en question est assez lourd (une centaines de lignes minimum). Pour tout dire, il s'agit de code HTML et mon script est sencé le renommer en INFORMATIONS.HTM en fin de parcours.
 
Donc je trouve dommage de remplir mon script avec des centaines de lignes alors que quelques une suffiraient si j'arrivais à lui dire de remplacer celles de mon fichier TXT.
 
En tout cas, merci de ton aide ;-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed