Remplacement avec = en caractère en batch

Résolu/Fermé
Angelus_h - 13 déc. 2020 à 13:06
 Angelus_h - 13 déc. 2020 à 19:57
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
A voir également:

2 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 907
13 déc. 2020 à 19:08
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
Parfait , Merci beaucoup
0