Remplacement avec = en caractère en batch

Résolu
Angelus_h -  
 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

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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%"


    1