Remplacement avec = en caractère en batch [Résolu]

Signaler
-
 Angelus_h -
Bonjour,

Je ne maitrise pas bien les commandes et je n'arrive pas à faire fonctionner ce script.

Le but c'est que toute les lignes qui commence par tintin= (il peut y avoir plusieurs caractère derrière le =) soient remplacés dans un nouveau fichier par milou=chien

J'ai essayé d'adapter ce script ci dessous mais je coince. Merci d'avance pour vos conseils.

@echo Off
setlocal enabledelayedexpansion

set FileToCheck=C:\test\fichier.txt
set OutputFile=C:\test\fichiertemp.txt
set FEntree="tintin="*
set FSortie="milou=test"

if exist "%OutputFile%" del "%OutputFile%"
for /f "usebackq delims=*" %%T in ("%FileToCheck%") do (
Set TempVar=%%T
echo %%T
set TempVar=!TempVar:%FEntree%=%FSortie%!
echo !TempVar!>>"%OutputFile%"

)

endlocal

2 réponses

Messages postés
13157
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
16 janvier 2021
4 044
Bonjour,

Essaie comme ça :

@echo off
setlocal enabledelayedexpansion

set FileToCheck=C:\test\fichier.txt
set OutputFile=C:\test\fichiertemp.txt

if exist "%OutputFile%" (del "%OutputFile%")

for /f "usebackq delims=" %%T in ("%FileToCheck%") do (

set TempVar=%%T
if "!TempVar:~0,7!"=="tintin=" (echo milou=chien) else (echo %%T)

)>>"%OutputFile%"


Parfait , Merci beaucoup